数据结构作业
数据结构(本)形考作业1

数据结构(本)形考作业1一、单项选择题(每小题3分,共60分)题目1把数据存储到计算机中,并具体体现数据元素间的逻辑结构称为()。
A. 逻辑结构B. 物理结构C. 给相关变量分配存储单元D. 算法的具体实现题目2下列说法中,不正确的是()。
A. 数据项是数据中不可分割的最小可标识单位B. 数据可有若干个数据元素构成C. 数据项可由若干个数据元素构成D. 数据元素是数据的基本单位题目3一个存储结点存储一个()。
A. 数据类型B. 数据结构C. 数据元素D. 数据项题目4数据结构中,与所使用的计算机无关的是数据的()。
A. 逻辑结构B. 物理结构C. 物理和存储结构D. 存储结构题目5在线性表的顺序结构中,以下说法正确的是()。
A. 进行数据元素的插入、删除效率较高B. 逻辑上相邻的元素在物理位置上不一定相邻C. 数据元素是不能随机访问的D. 逻辑上相邻的元素在物理位置上也相邻题目6对链表, 以下叙述中正确的是()。
A. 不能随机访问任一结点B. 结点占用的存储空间是连续的C. 可以通过下标对链表进行直接访问D. 插入删除元素的操作一定要要移动结点题目7下列的叙述中,不属于算法特性的是()。
A. 可行性B. 输入性C. 可读性D. 有穷性题目8算法的时间复杂度与()有关。
A. 数据结构B. 所使用的计算机C. 算法本身D. 计算机的操作系统题目9设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为()。
A. iB. n-i-1C. n-i+1D. n-i题目10设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为()。
A. n-iB. n-i-1C. n-i+1D. I题目11在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句()。
A. q->next=NULLB. p->next=qC. p->next=q->nextD. p=q->next题目12在一个单链表中p所指结点之后插入一个s所指的结点时,可执行()。
数据结构作业

6.45 编写递归算法:对于二叉树中每一个元素值为x的结点,删去以它为根的子树,并释放相应的空间。
6.46 编写复制一棵二叉树的非递归算法。
6.59 编写算法完成下列操作:无重复地输出以孩子兄弟链表存储的树T中所有的边(这里的边是指树T本身的分支,而不是孩子兄弟链表所形成的二叉树的分支)。输出的形式为(k1, k2), ..., (ki, kj), ..., 其中,ki和kj为树结点中的结点标识。
1.20试编写算法求一元多项式 的值Pn(x0),并确定算法中每一语句的执行次数和整个算法的时间复杂度。注意选择你认为较好的输入和输出方法。本题的输入为ai(i=0, 1,…, n)、x0和n,输出为Pn(x0)。
第二章线性表
2.11设顺序表va中的数据元素非递减有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。
注:根据同学们的要求,将作业量从六道题减少到三道题,希望同学们能及时完成。
第五章数组和广义表
5.21 假设稀疏矩阵A和B均以三元组顺序表作为存储结构。试写出矩阵相加的算法,另设三元组C存放结果矩阵。
5.26 试编写一个以三元组形式输出用十字链表表示的稀疏矩阵中非零元素及其下标的算法。
5.33 试编写递归算法,输出广义表中所有原子项及其所在的层次。
第十二章 文件
12.10假设某个有3000张床位的旅店需建立一个便于管理的文件,每个记录是一个旅客的身份和投宿情况。其中旅客身份证号(15位十进制数字)可作为主关键字,此外还需建立按姓名、投宿日期、从哪来等次关键字项索引。请为此文件确定一种组织方式(如:主文件如何组织,各次关键字项索引如何建立等
第十章 排序
10.23 试以L.r[k+1]作为监视哨改写直接插入排序算法。其中,L.r[1...k]为待排记录且k<MAXSIZE。
数据结构作业及答案

第一章绪论一、选择题1.数据结构是一门研究非数值计算的程序设计问题中计算机的1以及它们之间的2和运算等的学科。
1 A.数据元素 B.计算方法 C.逻辑存储 D.数据映像2 A.结构 B.关系 C.运算 D.算法2.数据结构被形式地定义为(K, R),其中K是1的有限集,R是K上的2有限集。
1 A.算法 B.数据元素 C.数据操作 D.逻辑结构2 A.操作 B.映像 C.存储 D.关系3.在数据结构中,从逻辑上可以把数据结构分成。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构4.线性结构的顺序存储结构是一种1的存储结构,线性表的链式存储结构是一种2的存储结构。
A.随机存取 B.顺序存取 C.索引存取 D.散列存取5.算法分析的目的是1,算法分析的两个主要方面其一是指2,其二是指正确性和简单性。
1 A.找出数据结构的合理性 B.研究算法中的输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性2 A.空间复杂度和时间复杂度 B.研究算法中的输入和输出的关系C.可读性和文档性D.数据复杂性和程序复杂性k6.计算机算法指的是1,它必须具备输入、输出和2等5个特性。
1 A.计算方法 B.排序方法 C.解决问题的有限运算序列 D.调度方法2 A.可执行性、可移植性和可扩充性 B.可行性、确定性和有穷性C.确定性、有穷性和稳定性D.易读性、稳定性和安全性7.线性表的逻辑顺序与存储顺序总是一致的,这种说法。
A.正确 B.不正确8线性表若采用链式存储结构时,要求内存中可用存储单元的地址。
A.必须连续的B.部分地址必须连续的C.一定是不续的D连续不连续都可以9.以下的叙述中,正确的是。
A.线性表的存储结构优于链式存储结构 B.二维数组是其数据元素为线性表的线性表C.栈的操作方式是先进先出D.队列的操作方式是先进后出10.每种数据结构都具备三个基本运算:插入、删除和查找,这种说法。
大工19春《数据结构》在线作业1【答案】

大工19春《数据结构》在线作业1【答案】大工19春《数据结构》在线作业1以下选项属于非线性结构的是()。
A.广义表B.队列C.优先队列D.栈正确答案:A在存储数据时,通常不仅需要存储数据元素的值,还要存储()。
A.数据元素的类型B.数据的基本运算C.数据元素之间的关系D.数据的存取方式正确答案:C以下选项属于逻辑结构的是()。
A.顺序表B.散列表C.有序表D.单链表正确答案:C一个递归算法必须包括()。
A.递归部分B.终止条件和递归部分C.迭代部分D.终止条件和迭代部分正确答案:B算法的时间复杂度与()有关。
A.问题规模B.计算机硬件的运行速度C.源程序的长度D.编译后执行程序的质量正确谜底:A静态链表与静态链表比拟较,其缺点是()。
A.插入和删除需移动较多半据B.有大概浪费较多存储空间C.不能随机存取D.以上都不是正确谜底:B链式栈和顺序栈相比,有一个比较明显的优点,即()。
A.插入操作更加方便B.通常不会出现栈满的情况C.不会出现栈空的情况D.删除操作更加方便正确谜底:B链式栈的栈顶在链表的()位置。
A.链头B.链尾C.链中D.随便正确谜底:A栈和行列具有相同的()。
A.逻辑结构B.存储布局C.存取点D.运算正确答案:A计较机操作系统为了实现历程办理,采用了多种历程调度战略,先来先服务的战略使用了()作为算法实现的基础。
A.栈B.队列C.优先行列D.双端行列正确谜底:B数据元素是数据的最小单位。
T.对F.错正确谜底:B数据布局是指相互之间存在一种或多种干系的数据元素的部分。
T.对F.错正确谜底:B从逻辑干系上讲,数据布局主要分为线性布局和非线性布局两大类。
T.对F.错正确谜底:A算法不能没有输出,但可以没有输入。
T.对F.错正确谜底:B同一个算法,实现语言级别越高,算法执行的效率越低。
T.对F.错正确谜底:A算法中语句执行的频度就是算法的时间复杂度。
T.对F.错正确答案:B顺序表的主要缺点是实现线性表的插入或删除可能移动很多元素。
数据结构作业题及答案

数据结构作业题及答案第一章绪论1、简述下列概念:数据、数据元素、数据结构、逻辑结构、存储结构、线性结构、非线性结构。
数据:指能够被计算机识别、存储和加工处理的信息载体。
数据元素:就是数据的基本单位,在某些情况下,数据元素也称为元素、结点、顶点、记录。
数据元素有时可以由若干数据项组成。
数据结构:指的是数据之间的相互关系,即数据的组织形式。
一般包括三个方面的内容:数据的逻辑结构、存储结构和数据的运算。
逻辑结构:指各数据元素之间的逻辑关系。
存储结构:就是数据的逻辑结构用计算机语言的实现。
线性结构:数据逻辑结构中的一类,它的特征是若结构为非空集,则该结构有且只有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。
线性表就是一个典型的线性结构。
非线性结构:数据逻辑结构中的另一大类,它的逻辑特征是一个结点可能有多个直接前趋和直接后继。
2、常用的存储表示方法有哪几种?顺序存储方法:它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。
由此得到的存储表示称为顺序存储结构。
链接存储方法:它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。
由此得到的存储表示称为链式存储结构。
索引存储方法:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。
散列存储方法:就是根据结点的关键字直接计算出该结点的存储地址。
3、求解下列算法的时间复杂度(1)i=1;k=0 while(i<n){k=k+10*i;i++;}T(n)=n-1∴T(n)=O(n)这个函数是按线性阶递增的(2)i=0;k=0;do{k=k+10*i;i++;} while(i<n);T(n)=n∴T(n)=O(n)这也是线性阶递增的(3)i=1;j=0;while(i+j<=n) {if(i<j)j++; else i++;}T(n)=n/2∴T(n)=O(n)虽然时间函数是n/2,但其数量级仍是按线性阶递增的。
200721数据结构 作业(高起专、高起本)

比较(
)个元素结点。
A、
B、n
C、
D、
20、设单链表中指针 p 指向结点 m,若要删除 m 之后的结点(若存在),则需修改指针的操作
为(
)。
A、
B、
C、
D、
21、在(
)运算中,使用顺序表比链表好。
A、插入
B、删除
C、根据序号查找
D、根据元素值查找
22、在一个具有 n 个结点的有序单链表中插入一个新结点并保持该表有序的时间复杂度
第 2 页 共 20 页 在您完成作业过程中,如有疑难,请登录学院网站“辅导答疑”栏目,与老师进行交流讨论!
C、一个无限序列,可以为空
D、一个无限序列,不可以为空
18、在一个长度为 n 的顺序表中删除第 i 个元素
时,需向前移动(
)个元素。
A、
B、
C、
D、i
19、从一个具有 n 个结点的单链表中查找其值等于 x 的结点时,在查找成功的情况下,需平均
( )个。
第 6 页 共 20 页 在您完成作业过程中,如有疑难,请登录学院网站“辅导答疑”栏目,与老师进行交流讨论!
A、15
B、16
C、17
D、47
48、设 n , m 为一棵二叉树上的两个结点,在中序遍历序列中 n 在 m 前的条件是( )。
A、n 在 m 右方
B、n 在 m 左方
C、n 是 m 的祖先
D、求串长
6、二维数组 M 的成员是 6 个字符(每个字符占一个存储单元)组成的串,行下标 i 的
范围从 0 到 8,列下标 j 的范围从 1 到 10,则存放 M 至少需要(
)个字节。
A、90
B、180
数据结构的作业

第五章作业: 第五章作业: 1.假设有二维数组 假设有二维数组a:array[1..6,0..7] of elemtp; 每个数据元 假设有二维数组 素占6个字节 存储器按字节编址 的基地址为1000,则: 素占 个字节,存储器按字节编址。a的基地址为 个字节 存储器按字节编址。 的基地址为 则 (1) 数组 的体积; 数组a的体积 的体积; (2)数组 的最后一个元素的第一个字节的地址; 数组a的最后一个元素的第一个字节的地址 数组 的最后一个元素的第一个字节的地址; (3)按行存储时,a[2,4]的第一个字节的地址; 按行存储时, 的第一个字节的地址; 按行存储时 的第一个字节的地址 (4)按列存储时,a[5,7]的第一个字节的地址; 按列存储时, 的第一个字节的地址; 按列存储时 的第一个字节的地址
7.写出下列各树的先根序列 后根序列 并且画出对应的二 写出下列各树的先根序列,后根序列 写出下列各树的先根序列 后根序列,并且画出对应的二 叉树. 叉树 A A A A B C D B C B C I 8.画出第 题的森林相应的二叉树 画出第7题的森林相应的二叉树 画出第 题的森林相应的二叉树. 9.画出和下列已知序列对应的树 画出和下列已知序列对应的树T: 画出和下列已知序列对应的树 树的先根次序访问序列为:GFKDAIEBCHJ,而且 而且 树的先根次序访问序列为 树的后根次序访问序列为:DIAEKFCJHBG。 。 树的后根次序访问序列为 E F J G H K
3.用单链表实现 用单链表实现Locate(L,x)函数。(可参考 函数。(可参考P26算法 算法2.5) 用单链表实现 函数。(可参考 算法 4.上机题:设单链表Va中的数据元素递增有序。试编 上机题:设单链表 中的数据元素递增有序 中的数据元素递增有序。 上机题 写程序,将数据X插入单链表 插入单链表Va, 写程序,将数据 插入单链表 ,要求插 入后保持该表的有序性。 入后保持该表的有序性。 5.写出双向链表删除第i个结点的算法 5.写出双向链表删除第i个结点的算法。 写出双向链表删除第 个结点的算法。 6.写出求双向循环链表长度的算法。(注:头结点 写出求双向循环链表长度的算法。(注 写出求双向循环链表长度的算法。( 不算) 不算)
数据结构作业题

1 简述下列术语:线性表,顺序表,链表。
答:线性表是最常用且最简单的一种数据结构,一个线性表是N个数据元素的有限序列。
顺序表是指用一组地址连续的储存单元依次存储线性表的数据元素。
用这种方法存储的线性表简称顺序表。
链表是用一组任意的存储单元存储线性表中的数据元素。
用这种方法存储的线性表简称线性链表。
2 何时选用顺序表,何时选用链表作为线性表的存储结构合适?各自的主要优缺点是什么?答:线性表的逻辑顺序与物理顺序一致;数据元素之间的关系是以元素在计算机内“物理位置相邻”来体现。
而存储链表中结点的一组任意的存储单元可以是连续的,也可以是不连续的,甚至是零散分布在内存中的任意位置上的。
链表中结点的逻辑顺序和物理顺序不一定相同。
3 在顺序表中插入和删除一个结点平均需要移动多少个结点?具体的移动次数取决于哪两个因素?答:在顺序表中插入和删除一个结点平均需要移动1个结点,具体移动次数取决于时间复杂和空间复杂程度。
4 链表所表示的元素是否有序?如有序,则有序性体现于何处?链表所表示的元素是否一定要在物理上是相邻的?有序表的有序性又如何理解?答:链表元素的有序并不一定是值得有序,而是逻辑次序上的有序;链表中的元素并不需要物理位置上相邻,因为其逻辑联系已经在结点中包括了。
5 设顺序表L是递增有序表,试写一算法,将x插入到L中并使L仍是递增有序表。
答:using System;using System.Collections.Generic;using System.Collections;using System.Text;namespace test{class arrlist_test{public static ArrayList a = new ArrayList();public static void main(){do{currency.write("请写入下一个值");a.Add(Console.ReadLine());a.Sort();}while(currency .choice ());for (int i = 0; i < a.Count; i++){Console.Write("\t" + a[i]);}}}}6 写一求单链表的结点数目ListLength(L)的算法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include<stdio.h>#include<stdlib.h>#include<conio.h>#define NULL 0typedef struct Lnode{int data;struct Lnode *next;}Lnode, *linkList;void createList(linkList *L,int n){Lnode *p, *q;int i;(*L) = (linkList)malloc(sizeof(Lnode));(*L)->next = NULL;q = (*L);for (i = 1; i <= n; i++){p = (Lnode *)malloc(sizeof(Lnode));scanf("%d", &p->data);q->next = p;q = p;p->next = NULL;}}void printout(linkList L){linkList p;p = L->next;while (p){printf("%d ", p->data);p = p->next;}}void insert(linkList *L, int element, int w) {linkList p,q;int j = 1;q=(*L)->next;p=(linkList)malloc(sizeof(Lnode));p->data=element;if(w==1){p->next=(*L)->next;(*L)->next=p;}else{while(q&&j<w-1){q=q->next;j++;}p->next=q->next;q->next=p;}}del(linkList *L, int w){int element;linkList p;int j = 1;p = (*L)->next;if(w==1){(*L)->next=p->next;}else{while (j < w-1){p = p->next;j++;}element = p->next->data;p->next = p->next->next;}return element;}main(){linkList L;int n, w,element;printf("input the number of List:");scanf("%d", &n);printf("input you datas:");createList(&L, n);printf("the datas are:");printout(L);printf("\nthe data you want to insert:");scanf("%d", &element);printf("the location you want to insert:");scanf("%d",&w);insert(&L, element, w);printf("Now your list is:");printout(L);printf("\ninput the location of you want to delete:");scanf("%d", &w);printf("the data of %d is delete!", del(&L, w));printf("\nNow your list is:");printout(L);printf("\n");system("pause");}第二章作业一选择题1.下述哪一条是顺序存储结构的优点?(A)A.存储密度大B.插入运算方便C.删除运算方便D.可方便地用于各种逻辑结构的存储表示2.下面关于线性表的叙述中,错误的是哪一个?(B)A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
3.线性表是具有n个(C)的有限序列(n>0)。
A.表元素B.字符C.数据元素D.数据项E.信息项4.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用(A)存储方式最节省时间。
A.顺序表B.双链表C.带头结点的双循环链表D.单循环链表5.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用(D)存储方式最节省运算时间。
A.单链表B.仅有头指针的单循环链表C.双链表D.仅有尾指针的单循环链表6.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( D )最节省时间。
A. 单链表B.单循环链表C. 带尾指针的单循环链表D.带头结点的双循环链表7.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。
则采用(D)存储方式最节省运算时间。
A.单链表B.双链表C.单循环链表D.带头结点的双循环链表8. 静态链表中指针表示的是(C).A.内存地址B.数组下标C.下一元素地址D.左、右孩子地址9. 链表不具有的特点是(B)A.插入、删除不需要移动元素B.可随机访问任一元素C.不必事先估计存储空间D.所需空间与线性长度成正比10. 下面的叙述不正确的是(BC)A.线性表在链式存储时,查找第i个元素的时间同i的值成正比B. 线性表在链式存储时,查找第i个元素的时间同i的值无关C. 线性表在顺序存储时,查找第i个元素的时间同i 的值成正比D. 线性表在顺序存储时,查找第i个元素的时间同i的值无关12.(1) 静态链表既有顺序存储的优点,又有动态链表的优点。
所以,它存取表中第i个元素的时间与i无关。
(2) 静态链表中能容纳的元素个数的最大数在表定义时就确定了,以后不能增加。
(3) 静态链表与动态链表在元素的插入、删除上类似,不需做元素的移动。
以上错误的是(B)A.(1),(2)B.(1)C.(1),(2),(3) D.(2)13. 若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为(C)(1<=i<=n+1)。
A. O(0)B. O(1)C. O(n)D. O(n2)14. 对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为(C)。
A.O(n) O(n) B. O(n) O(1) C. O(1) O(n) D. O(1) O(1)15.线性表(a1,a2,…,an)以链接方式存储时,访问第i位置元素的时间复杂性为(C)A.O(i)B.O(1)C.O(n)D.O(i-1)16.非空的循环单链表head的尾结点p满足(A)。
A.p->link=head B.p->link=NILL C.p=NILL D.p= head 17.循环链表H的尾结点P的特点是(A)。
A.P^.NEXT:=H B.P^.NEXT:= H^.NEXT C.P:=H D.P:=H^.NEXT 18.在一个以h 为头的单循环链中,p 指针指向链尾的条件是(A)A. p->next=hB. p->next=NILC. p->next->next=hD. p->data=-119.完成在双循环链表结点p之后插入s的操作是(D);A.p->next:=s ; s->priou:=p; p->next->priou:=s ; s->next:=p->next;B.p ->next ->priou:=s; p ->next:=s; s ->priou:=p; s ->next:= p->next;C.s ->priou:=p; s ->next:=p->next; p->next:=s; p->next->priou:=s ;D.s->priou:=p; s->next:=p->next; p->next->priou:=s ; p->next:=s;二、判断1. 链表中的头结点仅起到标识的作用。
( ×)//还可以使操作统一2. 顺序存储结构的主要缺点是不利于插入或删除操作。
( √)3.线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。
( √)4.顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。
( ×)5. 对任何数据结构链式存储结构一定优于顺序存储结构。
( ×)6.顺序存储方式只能用于存储线性结构。
( ×)7.集合与线性表的区别在于是否按关键字排序。
( ×)8. 所谓静态链表就是一直不发生变化的链表。
( ×)9. 线性表的特点是每个元素都有一个前驱和一个后继。
( ×)10. 取线性表的第i个元素的时间同i的大小有关. ( ×)11. 循环链表不是线性表. (×)12. 线性表只能用顺序存储结构实现。
( ×)13. 线性表就是顺序存储的表。
( ×)14.为了很方便的插入和删除数据,可以使用双向链表存放数据。
( √)15. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
( ×)16. 链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。
( √)三、编写下列算法:1、将两个单链表合并成一个单链表。
#include<stdio.h>#define NULL 0typedef struct Lnode{int data;struct Lnode *next;}Lnode,*linkList;void createList(linkList *L,int n) //创建链表的函数{int i;linkList p,q;(*L)=(linkList)malloc(sizeof(Lnode));(*L)->next=NULL;q=(*L);for(i=1;i<=n;i++){p=(linkList)malloc(sizeof(Lnode));scanf("%d",&p->data);q->next=p;q=p;p->next=NULL;}}void combineLnode(linkList list1,linkList list2,linkList *combineList) //合并链表的函数{linkList p;*combineList=(linkList)malloc(sizeof(Lnode));p=*combineList;p->next=list1->next;while(p->next){p=p->next;}p->next=list2->next;}void printout(linkList list) //输出链表的函数{linkList p;p=list->next;while(p){printf("%d ",p->data);p=p->next;}}main(){linkList list1,list2,combineList;int numList1,numList2;//创建链表list1printf("Please input the numbers of list1:");scanf("%d",&numList1);list1=(linkList)malloc(sizeof(Lnode));printf("Please input your datas:");createList(&list1,numList1);//创建链表list2printf("\nPlease input the numbers of list2:");scanf("%d",&numList2);list2=(linkList)malloc(sizeof(Lnode));printf("Please input your datas:");createList(&list2,numList2);//将链表list1和list2进行合并操作combineList=(linkList)malloc(sizeof(Lnode));combineLnode(list1,list2,&combineList);//输出合并后的链表combineListprintf("The datas after combine list1 and list2 are:\n");printout(combineList);printf("\n");}2、有一个有序单链表(从小到大),表头指针为head,编写一个算法向该单链表中插入一个元素值为x的结点,使插入后该链表依然有序。