大学生 数据结构课程知识点总结

大学生 数据结构课程知识点总结


2024年4月11日发(作者:)

顺序表

1、什么是顺序存储结构?什么是顺序表?

答:用一组地址连续的存储空间依次存放线性表的各元素 。

采用顺序存储结构的线性表称为顺序表(一维数组) 。

2、顺序表的语言描述,一定要理解其中的含义。

(1)静态语言描述

typedef struct node

{ EelemType data[maxsize];

int length;

}sqlist;

sqlist l;

(2)动态语言描述

typedef struct node

{ EelemType *elem;

int length;

}sqlist;

sqlist l;

=(ElemType*)malloc(Maxsize*sizeof(ElemType))

3、顺序表的插入、思想、时间复杂度o(n)、理解算法中每条语句的

含义。

(1)插入的条件:不管是静态实现还是动态实现,插入的过程都

是从最后一个元素往后挪动,腾位置。静态是利用数组实现,动态是

1

利用指针实现。不管静态还是动态,在表中第i个位置插入,移动次

数都是n-i+1。

(2)静态实现插入算法(位置是1-length+1合法)

void InsertList(SeqList *L,DataType x,int i)

{

int j;

if(i<1||i>L->length+1)

Error("position error"); //非法位置,退出

if(L->length>=ListSize)

Error("overflow"); //表空间溢出

for(j=L->length-1;j>=i-1;j--)

L->data[j+1]=L->data[j]; //从最后一个结点开始往后移

L->data[i-1]=x; //插入x

L->length++; //表长加1

}

(3)动态实现插入算法(位置是1-length+1合法)

status Listinsert_sq(sqlist &L,int i,elemtype e)

{if(i<1||i>+1) return error;

if(>=ze)

{newbase=(elemtype* )

realloc(,(ze+LISTINCREMENT)*sizeof(elemtype)

);

2


发布者:admin,转转请注明出处:http://www.yc00.com/news/1712847903a2133827.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信