太原理工大学数据结构试题库及答案
数据结构c语言期末考试题及答案

数据结构c语言期末考试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,线性结构和非线性结构的区别在于()。
A. 结构中元素的个数B. 结构中是否包含子结构C. 结构中元素之间是否有一对一关系D. 结构中元素之间是否有一对多关系答案:C2. 线性表的顺序存储结构和链式存储结构相比,其优点是()。
A. 存储密度高B. 存储密度低C. 插入和删除操作快D. 存储空间可以动态分配答案:A3. 在一个长度为n的顺序表中,删除第i个元素(1≤i≤n)时,需要移动的元素个数为()。
A. i-1B. n-iC. n-i+1D. n-i-1答案:B4. 栈的运算遵循()原则。
A. 先进先出B. 先进后出C. 后进先出D. 后进后出答案:C5. 在二叉树的前序遍历中,访问顺序为()。
A. 根-左-右B. 左-根-右C. 左-右-根D. 右-左-根答案:A6. 哈希表的冲突解决方法中,链地址法是()。
A. 将所有元素存储在同一个存储单元B. 将所有元素存储在同一个链表中C. 将所有元素存储在同一个数组中D. 将所有元素存储在同一个链表的同一个位置答案:B7. 在图的遍历中,深度优先搜索(DFS)和广度优先搜索(BFS)的主要区别在于()。
A. 遍历的顺序不同B. 遍历的起点不同C. 遍历的路径不同D. 遍历使用的存储结构不同答案:D8. 快速排序算法的时间复杂度为()。
A. O(n)B. O(nlogn)C. O(n^2)D. O(logn)答案:B9. 归并排序算法的时间复杂度为()。
A. O(n)B. O(nlogn)C. O(n^2)D. O(logn)答案:B10. 在二叉搜索树中,查找一个元素的时间复杂度为()。
A. O(n)B. O(logn)C. O(n^2)D. O(1)答案:B二、填空题(每题2分,共20分)1. 在数据结构中,一个算法的时间复杂度通常用______来描述。
答案:大O符号2. 线性表的两种基本操作是插入和______。
2022年太原理工大学数据科学与大数据技术专业《操作系统》科目期末试卷A(有答案)

2022年太原理工大学数据科学与大数据技术专业《操作系统》科目期末试卷A(有答案)一、选择题1、一个多道批处理系统中仅有P1,和P2两个作业,P2比P1晚5ms到达。
它们的计算和I/O操作顺序如下:P1:计算60ms,I/O 80ms,计算20msP2:计算120ms,I/O 40ms,计算40ms。
若不考虑调度和切换时间,则完成两个作业需要的时间最少是()。
A.240msB.260msC.340msD.360ms2、下列观点中,不是描述操作系统的典型观点的是()。
A.操作系统是众多软件的集合B.操作系统是用户和计算机之间的接口C.操作系统是资源的管理者D.操作系统是虚拟机3、在多进程的系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。
所谓临界区是指()。
A.一个缓冲区B.一段数据区C.同步机制D.一段程序4、下列关于管程的叙述中,错误的是()。
A.管程只能用于实现进程的互斥B.管程是由编程语言支持的进程同步机制C.任何时候只能有一个进程在管程中执行D.管程中定义的变量只能被管程内的过程访问5、设有n个进程共用一个相同的程序段,若每次最多允许m个进程(mSn)同时进入,临界区,则信号量的初值为()。
A.nB.mC.m-nD.-m6、某文件占10个磁盘块,现要把该文件磁盘块逐个读入主存缓冲区,并送用户区进行分析。
假设一个缓冲区与一个磁盘块人小相同,把一个磁盘块读入缓冲区的时间为100μs,将缓冲区的数据传送到用户区的时间是50μs.CPU对一块数据进行分析的时间为50us。
在单缓冲区和双缓冲区结构ド,读入并分析完该文件的时间分别是()。
Α.1500μs,1000μsB.1550μs,1100μsC.1550μs,1550μsD.2000μs,2000μs7、 I/O中断是CPU与通道协调I作的种于段,所以在()时,便要产生中断。
A.CPU执行“启动I/O”指令而被通道拒绝接收B.通道接受了CPU的启动请求C.通道完成了通道程序的执行D.通道在执行通道程序的过程中8、下列关于索引表的叙述,()是正确的。
2021年太原理工大学数据科学与大数据技术专业《计算机组成原理》科目期末试卷B(有答案)

2021年太原理工大学数据科学与大数据技术专业《计算机组成原理》科目期末试卷B(有答案)一、选择题1、连续两次启动同一存储器所需的最小时间间隔称为()。
A.存储周期B.存取时间C.存储时间D.访问周期2、某SRAM芯片,其容量为512×8位,除电源和接地端外,该芯片引出线的最小数目应该是()。
A.23B.25C.50D.193、假设有7位信息码010101,则低位增设偶校验位后的代码和低位增设奇校验位后的代码分别为()。
A.01101010 01101010B.0101010 01101011C.01101011 01101010D.01101011 011010114、为了表示无符号十进制整数,下列哪些是合法的8421BCD码?()I.01111001 Ⅱ.11010110 Ⅲ.00001100 Ⅳ.1000010lA.I、IⅡB.Ⅱ、ⅢC.I、ⅣD.I、Ⅱ、Ⅲ5、某数采用IEEE754标准中的单精度浮点数格式表示为C6400000H,则该数的值是()。
A.-1.5×213B.-1.5×212C.-0.5×213D.-0.5×2126、下列关于总线设计的叙述中,错误的是()。
A.并行总线传输比串行总线传输速度快B.采用信号线复用技术可减少信号线数量C.采用突发传输方式可提高总线数据传输率D.采用分离事务通信方式可提高总线利用率7、控制总线主要用来传送()。
I.存储器和1/O设备的地址码II.所有存储器和I/O设备的时序信号III.所有存储器和1/O设备的控制信号IV.来自I/O设备和存储器的响应信号A.II、IIIB. I,III,IVC. III,IVD.II,III. IV8、已知计算机A的时钟频率为800MHz,假定某程序在计算机A上运行需要12s。
现在硬件设计人员想设计计算机B,希望该程序在B上的运行时间能缩短为8s,使用新技术后可使B的时钟频率大幅度提高,但在B上运行该程序所需要的时钟周期数为在A上的1.5倍。
数据结构试题及答案

数据结构试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性结构的特点是元素之间存在一对一的线性关系。
以下哪个数据结构不属于线性结构?A. 栈B. 队列C. 树D. 链表答案:C2. 栈(Stack)是一种后进先出(LIFO)的数据结构,以下哪个操作不是栈的基本操作?A. PushB. PopC. TopD. Sort答案:D3. 在二叉树的遍历中,前序遍历的顺序是:A. 根-左-右B. 左-根-右C. 右-根-左D. 根-右-左答案:A4. 哈希表的冲突可以通过多种方法解决,以下哪个不是解决哈希表冲突的方法?A. 链地址法B. 开放地址法C. 再散列法D. 排序法答案:D5. 以下哪个排序算法是稳定的?A. 快速排序B. 堆排序C. 归并排序D. 选择排序答案:C6. 在图的遍历中,深度优先搜索(DFS)使用的是哪种数据结构来实现?A. 队列B. 栈C. 链表D. 哈希表答案:B7. 以下哪个是图的存储方式?A. 顺序存储B. 链式存储C. 散列表D. 矩阵存储答案:D8. 动态数组(如C++中的vector)在插入元素时可能需要进行的操作是:A. 原地扩展B. 复制元素C. 重新分配内存D. 释放内存答案:C9. 以下哪个不是算法的时间复杂度?A. O(1)B. O(log n)C. O(n^2)D. O(n!)答案:D10. 在查找算法中,二分查找法要求被查找的数据必须是:A. 无序的B. 有序的C. 随机分布的D. 唯一元素答案:B二、简答题(每题5分,共30分)1. 简述链表和数组的区别。
答案:链表和数组都是存储数据的线性数据结构,但它们在内存分配、访问方式、插入和删除操作等方面存在差异。
数组在内存中是连续存储的,可以通过索引快速访问任意元素,但插入和删除元素时可能需要移动大量元素。
链表在内存中是非连续存储的,每个元素包含数据和指向下一个元素的指针,不支持通过索引快速访问,但插入和删除操作只需要改变指针,不需要移动其他元素。
太原理工大学数据结构复习

第三章:
3.1,3.3,3.4,3.9,3.10,3.24
3.9(3) 试将下列递推过程改写为递归规程。(书后答案) Void ditui(int n) { int i; i=n; while (i>1) printf(i--); } 3.10(3) 试将下列递归过程改写为非递归过程。(书后答案) Void test(int& sum) { int x; scanf(x); if (x==0) sum=0; else { test(sum); sum +=x; } printf(sum); } 3.24(3) 试编写如下定义的递归函数的递归算法,并根据算法画出 求g(5,2)时栈的变化过程。 0 m=0, n>=0 g(m,n) = g(m-1,2n) + n m>0, n>=0
};
3.9. 试将下列递推过程改写为递归过程。 Void ditui(int n) { int i; i=n; while( i>1 ) printf(i--); }
2.24(4) 假设有两个按元素值递增有序排列的线性表A和B, 均以单链表作存 储结构,请编写算法将A表和B表归并成一个按元素值递减有序(即非递增有 序,允许表中含有值相同的元素)排列的线性表C,并要求利用原表(即A表 和B表)的结点空间构造C表。 Void reverse_merge(LinkList &A, LinkList &B, LinkList &C) // 把元素 // 递增排列的链表A和B合并为C,且C中元素递减排列,使用原空间 { pa=A->next; pb=B->next; pre=NULL; // pa和pb分别指向A,B的当前元素 while(pa || pb) { if(pa->data < pb->data || !pb) { // 将A的元素插入新表 pc=pa; q=pa->next; pa->next=pre; pa=q; } else { // 将B的元素插入新表 pc=pb; q=pb->next; pb->next=pre; pb=q; } pre=pc; } C=A; A->next=pc; // 构造新表头 } // reverse_merge 分析:本算法的思想是,按从小到大的顺序依次把A和B的元素插入新表的头部pc 处,最后处理A或B的剩余元素。
数据结构c语言期末考试题库及详解答案

数据结构c语言期末考试题库及详解答案数据结构C语言期末考试题库及详解答案一、选择题1. 在数据结构中,线性表的顺序存储结构被称为:A. 链式存储结构B. 栈C. 队列D. 数组答案:D2. 下列关于栈的描述,错误的是:A. 栈是一种特殊的线性表B. 栈的特点是后进先出C. 栈顶元素是最后插入的元素D. 栈的插入和删除操作都发生在栈顶答案:C二、填空题1. 在C语言中,定义一个具有10个元素的整型数组可以使用语句:________。
答案:int arr[10];2. 链表与数组相比,其优点是________。
答案:动态内存分配,不需要预先知道数据规模三、简答题1. 简述二叉树的遍历方法有哪些,并说明它们的特点。
答案:二叉树的遍历方法主要有前序遍历、中序遍历和后序遍历三种。
前序遍历首先访问根节点,然后递归地遍历左子树和右子树;中序遍历首先遍历左子树,然后访问根节点,最后遍历右子树;后序遍历首先遍历左子树和右子树,最后访问根节点。
每种遍历方法都可以用来对二叉树进行不同的操作和分析。
2. 什么是哈希表?它在实际应用中有哪些优点?答案:哈希表是一种通过哈希函数将键映射到表中一个位置来访问记录的数据结构。
它的优点包括:快速的数据访问速度,因为哈希表通常在常数时间内完成查找;动态的内存分配,可以根据需要调整存储空间;以及灵活的键值对存储方式。
四、编程题1. 编写一个C语言函数,实现单链表的逆序输出。
答案:```c#include <stdio.h>#include <stdlib.h>typedef struct Node {int data;struct Node *next;} Node;void reversePrint(Node *head) {if (head == NULL) return;reversePrint(head->next);printf("%d ", head->data);}int main() {Node *head = (Node *)malloc(sizeof(Node));head->data = 1;head->next = NULL;// 假设链表已经构建完毕reversePrint(head);return 0;}```2. 请实现一个C语言函数,用于计算一个字符串中不同字符的数量。
2022年太原理工大学数据科学与大数据技术专业《计算机组成原理》科目期末试卷B(有答案)

2022年太原理工大学数据科学与大数据技术专业《计算机组成原理》科目期末试卷B(有答案)一、选择题1、采用八体并行低位交叉存储器,设每个体的存储容量为32K×16位,存储周期为400ns,下述说法中正确的是()。
A.在400ns内,存储器可向CPU提供2位二进制信息B.在l00ns内,每个体可向CPU提供27位二进制信息C.在400ns内,存储器可向CPU提供2位二进制信息D.在100ns内,每个体可向CPU提供2位二进制信息2、在一个容量为l28KB的SRAM存储器芯片上,按字长32位编址,其地址范围可从0000H到()。
A.3HB.7HC.7HD.3fH3、一个浮点数N可以用下式表示:N=mr me,其中,e=rc g;m:尾数的值,包括尾数采用的码制和数制:e:阶码的值,一般采用移码或补码,整数;Tm:尾数的基;re:阶码的基;p:尾数长度,这里的p不是指尾数的:进制位数,当ra=16时,每4个二进制位表示一位尾数;q:阶码长度,由于阶码的基通常为2,因此,在一般情况下,q就是阶码部分的二进制位数。
研究浮点数表示方式的主要目的是用尽量短的字长(主要是阶码字长q和尾数字长的和)实现尽可能大的表述范围和尽可能高的表数精度。
根据这一目的,上述6个参数中只有3个参数是浮点数表示方式要研究的对象,它们是()。
A.m、e、rmB. rm、e、rmC.re、p、qD. rm、p、q4、下列为8位移码机器数[x]移,当求[-x]移时,()将会发生溢出。
A.11111111B.00000000C.10000000D.011l1l115、为了表示无符号十进制整数,下列哪些是合法的8421BCD码?()I.01111001 Ⅱ.11010110 Ⅲ.00001100 Ⅳ.1000010lA.I、IⅡB.Ⅱ、ⅢC.I、ⅣD.I、Ⅱ、Ⅲ6、一次总线事务中,主设备只需给出一个首地址,从设备就能从首地址开始的若干连续单元读出或写入多个数据。
2022年太原理工大学数据科学与大数据技术专业《计算机网络》科目期末试卷B(有答案)

2022年太原理工大学数据科学与大数据技术专业《计算机网络》科目期末试卷B(有答案)一、选择题1、计算机网络最基本的功能是()。
I.流量控制Ⅱ.路由选择 III.分布式处理 IV.传输控制A.I、Ⅱ、IVB. I、III、ⅣC.I、IVD. Ⅲ、IV2、一般来说,学校的网络按照空间分类属于()。
A.多机系统B.局域网C.城域网D.广域网3、下面的地址中,属于单播地址的是()。
A.172.31.128.255/18B.10.255.255.255C.192.168.24.59/30D.224.105.5.2114、在IP首部的字段中,与分片和重组无关的是()。
注:假设现在已经分片完成。
A.总长度B.标识C.标志D.片偏移5、多路复用器的主要功能是()。
A.执行数/模转换B.结合来自多条线路的传输C.执行串/并转换D.减少主机的通信处理强度6、以下哪个是快速以太网的介质访问控制方法()A.CSMA/CDB.令牌总线C.令牌环D.100VG-AnyLan7、有一条TCP连接,它的最大报文段长度为2KB,TCP拥塞窗口为24KB,这时候发生了超时事件,那么该拥塞窗口变成了()。
A.1KBB.2KBC.5KBD.7KB8、下列关于TCP的叙述中,正确的是()。
I.TCP是一个点到点的通信协议Ⅱ.TCP提供了无连接的可靠数据传输IⅡ.TCP将来自上层的字节流组织成IP数据报,然后交给IPIV.TCP将收到的报文段组成字节流交给上层A.I、Ⅱ、ⅣB. I、ⅢC.仅ⅣD.Ⅲ、Ⅳ9、传输层为()之间提供逻辑通信。
A.主机B.进程C.路由器D.操作系统10、下列关于SMTP的叙述中,正确的是()。
I.只支持传输7比特ASCII码内容II支持在邮件服务器之间发送邮件III支持从用户代理向邮件服务器发送邮件IV支持从邮件服务器向用户代理发送邮件A.仅I、II和IIIB.仅I、II和IVC.仅I、III和IVD.仅II、III和IV11、通过"Internet信息服务(IIS)管理器”管理单元可以配置FTP服务器,若将控制端口设置为2222,则数据端口自动设置为()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构试题库及答案第一章概论一、选择题1、研究数据结构就是研究( D )。
A. 数据的逻辑结构B. 数据的存储结构C. 数据的逻辑结构和存储结构D. 数据的逻辑结构、存储结构及其基本操作2、算法分析的两个主要方面是( A )。
A. 空间复杂度和时间复杂度B. 正确性和简单性C. 可读性和文档性D. 数据复杂性和程序复杂性3、具有线性结构的数据结构是( D )。
A. 图B. 树C. 广义表D. 栈6、算法是( D )。
A. 计算机程序B. 解决问题的计算方法C. 排序算法D. 解决问题的有限运算序列7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( C )。
A. O(n)B. O(nlog2n)C. O(n2)D. O(log2n)11、抽象数据类型的三个组成部分分别为( A )。
A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型二、填空题三、综合题1、将数量级O(1),O(N),O(N2),O(N3),O(NLOG2N),O(LOG2N),O(2N)按增长率由小到大排序。
答案:O(1) O(log2N) O(N) O(Nlog2N) O(N2) O(N3) O(2N)一、填空题1. 数据结构被形式地定义为(D, R),其中D是数据元素的有限集合,R是D上的关系有限集合。
2. 数据结构包括数据的逻辑结构、数据的存储结构和数据的运算这三个方面的内容。
3. 数据结构按逻辑结构可分为两大类,它们分别是线性结构和非线性结构。
8.数据的存储结构可用四种基本的存储方法表示,它们分别是顺序、链式、索引、散列。
9. 数据的运算最常用的有5种,它们分别是插入、删除、修改、查找、排序。
二、单项选择题( C )2. 数据结构中,与所使用的计算机无关的是数据的 结构;A) 存储 B) 物理 C) 逻辑 D) 物理和存储三、简答题1.数据结构和数据类型两个概念之间有区别吗?答:简单地说,数据结构定义了一组按某些关系结合在一起的数组元素。
数据类型不仅定义了一组带结构的数据元素,而且还在其上定义了一组操作。
2. 简述线性结构与非线性结构的不同点。
答:线性结构反映结点间的逻辑关系是一对一的,非线性结构反映结点间的逻辑关系是多对多的。
四、分析下面各程序段的时间复杂度Mn nn nn log3n五、设有数据逻辑结构S=(D,R ),试按各小题所给条件画出这些逻辑结构的图示,并确定其是哪种逻辑结构。
1. D={d1,d2,d3,d4} R={(d1,d2),(d2,d3),(d3,d4) }2. s=0;for (i=0; i<n; i++)for(j=0; j<n; j++) s+=B[i][j]; sum=s;1. for (i=0; i<n; i++) for (j=0; j<m; j++) A[i][j]=0; 3. x=0; for(i=1; i<n; i++) for (j=1; j<=n-i; j++) x++; 4. i=1;while(i<=n) i=i*3;2.D={d1,d2,…,d9}R={(d1,d2),(d1,d3),(d3,d4),(d3,d6),(d6,d8),(d4,d5), (d6,d7),(d8,d9) }3.D={d1,d2,…,d9}R={(d1,d3),(d1,d8),(d2,d3),(d2,d4),(d2,d5),(d3,d9), (d5,d6),(d8,d9),(d9,d7), (d4,d7), (d4,d6)}第二章线性表一、选择题1、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素算法的时间复杂度()。
A. O(log2n)B.O(1)C. O(n)D.O(n2)2、若一个线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用()存储方式最节省时间。
A. 顺序表B. 单链表C. 双链表D. 单循环链表7、在双向循环链表中,在p指针所指的结点后插入一个指针q所指向的新结点,修改指针的操作是( c )。
A. p->next=q;q->prior=p;p->next->prior=q;q->next=q;B. p->next=q;p->next->prior=q;q->prior=p;q->next=p->next;C. q->prior=p;q->next=p->next;p->next->prior=q;p->next=q;D. q->next=p->next;q->prior=p;p->next=q;p->next=q;10、线性表是n个()的有限序列。
A. 表元素B. 字符C. 数据元素D. 数据项11、从表中任一结点出发,都能扫描整个表的是()。
A. 单链表B. 顺序表C. 循环链表D. 静态链表12、在具有n个结点的单链表上查找值为x的元素时,其时间复杂度为()。
A. O(n)B. O(1)C. O(n2)D. O(n-1)15、在线性表的下列存储结构中,读取元素花费的时间最少的是()。
A. 单链表B. 双链表C. 循环链表D. 顺序表16、在一个单链表中,若删除p所指向结点的后续结点,则执行()。
A. p->next=p->next->next;B. p=p->next;p->next=p->next->next;C. p =p->next;D. p=p->next->next;17、将长度为n的单链表连接在长度为m的单链表之后的算法的时间复杂度为()。
A. O(1)B. O(n)C. O(m)D. O(m+n)18、线性表的顺序存储结构是一种( a )存储结构。
NA. 随机存取B. 顺序存取C. 索引存取D. 散列存取19、顺序表中,插入一个元素所需移动的元素平均数是()。
A. (n-1)/2B. nC. n+1D. (n+1)/211、不带头结点的单链表head为空的判定条件是( b )。
A. head==NULLB. head->next==NULLC. head->next==headD. head!=NULL12、在下列对顺序表进行的操作中,算法时间复杂度为O(1)的是()。
A. 访问第i个元素的前驱(1<ni≤) B. 在第i个元素之后插入一个新元素(ni≤)1≤C. 删除第i个元素(n≤) D. 对顺序表中元素进行排序i1≤13、已知指针p和q分别指向某单链表中第一个结点和最后一个结点。
假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为( a )。
A. q->next=s->next;s->next=p;B. s->next=p;q->next=s->next;C. p->next=s->next;s->next=q;D. s->next=q;p->next=s->next;15、在表长为n的顺序表中,当在任何位置删除一个元素的概率相同时,删除一个元素所需移动的平均个数为( a )。
A. (n-1)/2B. n/2C. (n+1)/2D. n二、填空题1、设单链表的结点结构为(data,next)。
已知指针p指向单链表中的结点,q指向新结点,欲将q插入到p结点之后,则需要执行的语句:;。
答案:q->next=p->next p->next=q3、写出带头结点的双向循环链表L为空表的条件。
答案:L->prior==L->next==L5、在一个单链表中删除p所指结点的后继结点时,应执行以下操作:q = p->next;p->next=_ q->next ___;三、判断题3、用循环单链表表示的链队列中,可以不设队头指针,仅在队尾设置队尾指针。
x4、顺序存储方式只能用于存储线性结构。
5、在线性表的顺序存储结构中,逻辑上相邻的两个元素但是在物理位置上不一定是相邻的。
6、链式存储的线性表可以随机存取。
四、程序分析填空题1、函数GetElem实现返回单链表的第i个元素,请在空格处将算法补充完整。
int GetElem(LinkList L,int i,Elemtype *e){LinkList p;int j;p=L->next;j=1;while(p&&j<i){p=p->next ;++j;}if(!p||j>i) return ERROR;*e= p->data ;return OK;}2、函数实现单链表的插入算法,请在空格处将算法补充完整。
int ListInsert(LinkList L,int i,ElemType e){LNode *p,*s;int j;p=L;j=0;while((p!=NULL)&&(j<i-1)){ p=p->next;j++;}if(p==NULL||j>i-1) return ERROR;s=(LNode *)malloc(sizeof(LNode));s->data=e;s->next=p->next ;p->next=s ;return OK;}/*ListInsert*/3、函数ListDelete_sq实现顺序表删除算法,请在空格处将算法补充完整。
int ListDelete_sq(Sqlist *L,int i){int k;if(i<1||i>L->length) return ERROR;for(k=i-1;k<L->length-1;k++)L->slist[k]= L->slist[k+1] ;--L->Length ;return OK;}4、函数实现单链表的删除算法,请在空格处将算法补充完整。
int ListDelete(LinkList L,int i,ElemType *s){LNode *p,*q;int j;p=L;j=0;while(( p->next!=NULL )&&(j<i-1)){p=p->next;j++;}if(p->next==NULL||j>i-1) return ERROR;q=p->next;p->next=q->next ;*s=q->data;free(q);return OK;}/*listDelete*/5、写出算法的功能。