谁给我讲讲这个线性表的插入

谁给我讲讲这个线性表的插入,第1张

Insert就是将一个新元素插入线性表,使得插入后的结果有序

InsertFront就是将一个新元素插在线性表的最前面

InsertRear就是将一个新元素插在线性表的最后面

DeleteFront就是将线性表的最前面的元素删除

ClearList就是清空线性表

TraverseList就是将线性表从头到尾输出一遍

(1)InitList(La)

Int a[]={100,26,57,34,79}

For (i=0i<5i++) Insert(La,a[i])

分析:for进行了5次循环,线性表分别为:

100

26,100

26,57,100

26,34,57,100

26,34,57,79,100

(2)DeleteFront(La)

InsertRear(La, DeleteFront(La))

TraverseList(La)

分析:DeleteFront执行后线性表为:

34,57,79,100

InsertRear(La, DeleteFront(La))分两步执行,先执行DeleteFront,并将删除的元素作为新元素插入到线性表的最后,过程为:

57,79,100

57,79,100,34

(3)ClearList(La)

For (i=0i<5i++)

InsertFront(La,a[i])

分析:清空线性表,再将元素依次插入线性表的最前面:

空表

100

26,100

57,26,100

34,57,26,100

79,34,57,26,100

修改了下 代码如下:

#include<stdio.h>

const int maxsize=18

struct sequenlist

{

int a[maxsize]

int len

}seq

/*

*

* 初始化线性表

*/

sequenlist init(sequenlist l)

{

l.len=100

return l

}

/*

*

* 初始化线性表2

*/

void input(sequenlist &l)

{

int n

printf("请你输入线性表元素的个数n:")

scanf("%d",&n)

l.len=n

int i=0

printf("请你输入线性表n个元素:")

for(i=0i<l.leni++)

{

scanf("%d",&l.a[i])

}

}

/*

*

* 遍历线性表

*/

void out(sequenlist l)

{

int i=0

for(i=0i<l.leni++)

{

printf("%d ",l.a[i])

}

}

/**

*

* 插入元素

**/

void insert(sequenlist &l,int X,int index)

{

if(index<0 &&index>=l.len)

printf("索引 index 无效,插入失败!")

else

{

int j

for(j=l.len-1j>=index-1j--)

{

l.a[j+1]=l.a[j]

}

l.a[index-1]=X

l.len++

}

}

/**

* 删除元素

*

*/

void delet(sequenlist &l,int index)

{

int j

for(j=indexj<=l.len-1j++)

{

l.a[j-1]=l.a[j]

}

l.len--

}

void main()

{

input(seq)

out(seq)//遍历

printf("\n")

insert(seq,5,10)

out(seq)//遍历

printf("\n")

delet(seq,5)

out(seq)//遍历

printf("\n")

}

int ListInsert_Sq(SqList &L,int i,int e)中

q=(L.elem+i-1)

for(p=(L.elem+L.length-1)*p>=*q--p) *(p+1)=*p// 这里是想从数组尾到插入位置的数都后移一位,腾出一个位置给新数,可是循环条件是*p>=*q,即当p指向的数>=q指向的数时,才循环,我想应该不是本意,不妨改成:

for(p=(L.elem+L.length-1)p>=qp--) *(p+1) = *p

//注:只读了Insert部分,先改下试试吧


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/11482486.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存