计算机基础知识:顺序表的删除
推荐阅读: 2014公共基础知识题库| 行政能力测试复习资料| 2014年申论热点【导语】在事业单位考试中,计算机专业知识的复习向来是考生复习备考阶段的一大重点,其中新都事业单位考试网为计算机基础知识的复习为考生提供知识点梳理,帮助考生备考!
通常,在长度为 n 的顺序表中,要删除线性表的第i(1≤i≤n)个元素ai 。得到长度为 n-1的线性表(a1,a2,…,ai-1,ai+1,…,an) 。
即 (a1, a2,…,ai-1,a’i,a’i+1,…,a’n-1),其中a’i 为原表中的ai+1 ,其余类推,a’n-1为原表中an 。
一般情况下,要删除第i (1≤i≤n )个元素,需要从第i+1 个元素开始,直到第n 个元素之间,共有n-i 个元素依次向前移动了一个位置。删除结束后,顺序表的长度就缩小了1。在平均情况下,要在顺序表中删除一个元素,需要移动表中一半的元素。
在顺序表L中删除第i个元素并用x 返回其值的算法Delete List描述如下:
void DeleteList(SeqList *L,int i, ElemType *x)
{
int j,n=L->length;
if(in)
{
printf(" \n i值不合法!");
exit(1);
}
*x=L->list;
/*将被删元素的值,赋给*x */
for(j=i;j
L->list=L->list;
/*元素依次向前移动一个位置 */
L->length--; /*表长减少1 */
}
以上是新都事业单位考试网为考生梳理计算机基础知识点,供大家学习识记!
页:
[1]