资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2016-12-26,#,2016,数据结构,Data structure,讲授:简勇,顺序表的删除,常州信息职业技术学院,02,三、链表的插入,03,顺序表的删除,0.3,算法步骤:,要求:,删除当前表,L,第,i,个结点,删除成功返回,1,,否则返回,0,。可将顺序表和待删结点的位置,i,作为参数。,判断删除位置是否正确,如果不正确,给出提示,返回,0,,否则,转向。,判断当前表是否为空,如果为空,给出提示,返回,0,,否则,转向。,从第,i+1,个结点开始依次前移,直到最后一个结点,转向。,将表长减,1,,返回,1,。,04,顺序表的删除,0.3,int DeleteList(SeqList *L,int i),/,从顺序表,L,中删除第,i,个结点,int j;,if (iL-length),puts(,删除位置错,);return 0;,if (L-length=0),puts(,空表不能删除,);return 0;,for(j=i;jlength-1;j+),L-dataj-1=L-dataj; /,结点依次前移,L-length-; /,表长减,1,return 1;,具体算法,05,顺序表的删除,0.3,算法分析,与插入操作的算法分析相同,可得该算法的时间复杂度为,T(n)=(n-1)/2=O(n),。,THANKS,2016.9.18,
展开阅读全文