数据结构知识点总结

数据结构知识点总结

ID:22615224

大小:108.60 KB

页数:8页

时间:2018-10-30

数据结构知识点总结_第1页
数据结构知识点总结_第2页
数据结构知识点总结_第3页
数据结构知识点总结_第4页
数据结构知识点总结_第5页
资源描述:

《数据结构知识点总结》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、数据结构知识点总结1、数据结构定义:是数据的逻辑结构和存储结构及其操作。2、数据结构主要是增、删、改、查、排序等功能的实现3、数据结构之间的关系有三种:逻辑、存储、数据运算4、数据结构的存储结构分为W种:顺序和链式,而常用的有顺序、链式、索引、散列5、顺序存储的物理存储空间是连续的,而链式可以是不连续的。6、线性表的基本过程:a)先建立结构体i.TypedefStructList{Data_tdata[N];Intlast;ii.Jlistnode;b)建表i.Listnode*crete_list(void){L

2、istnodeL=(listnode*)malloc(sizeof(listnode));L->last=-l;ReturnL;}c)向表里插入数据i.Intinsert_list(listnode*L,intpos,data_tx){lf(is_Full_list(L)){Printf("FULL.");Return-1;}For(i=L->last;i>=pos;i-){L->data[i+l]=L->data[i];}L->data[pos]=x;L->last++;Return0;ii.}d)删除表中固

3、定位置的数据i.Intdelete_list(listnode*LJntpos){lf(is_Empty_list){Printf("FULL">;Return-1;}For(i=pos;i<=L-last;i++){L->data[i-l]=L->data[i];}L->last-;Return0;••II.7、建立链式表的基本步骤:a)先建立结构体i.TypedefStructList{Data_tdata[N】;StructList*next;ii.}listnode,*linklist;b)建表i.List

4、node*crete_list(void){ListnodeL=(linklist)malloc(sizeof(listnode));L->next=NULLReturnL;}c)向表里插入数据i.Intinsert」ist(linklistL,data_tx){Linklisttemp=(linklist)mallic(sizeof(listnode));Temp->data=x;Temp->next=L->next;L->next=temp;Return0;ii.}d)删除表屮固定位置的数据i.Intdelet

5、e_list(linklistL){lf(is_Empty_list){Printf("FULL〃);Return-1;}Linklisttemp;Temp=L->next;L->nest=temp->next;Free(temp);Temp=NULL;Return0;ii.}8、单向循环链表a)在单链表的基础上修改了一些内容。i.建立链表时的指向内容:L->next=L;ii.在输出时:定义一个指针变量tempLinklisttemp;While(L->next!=temp){Printf("%dt",L-〉d

6、ata);L=L->next;}Printf("%d",L->nextj;9、栈和队列a)顺序栈和顺序表的差别不大,也可以说是基本的思想是一致的,顺序栈像是一个容器,如果容器里的东西要是想要放尽支的话,必定先从底开始存起,想要倒出来的话必定得先从上往下拿。栈与此类想法相同a)栈的建立i.建立结构体b)先建立结构体i.TypedefStructList{Data」data;StructList*top;ii.}listnode,*liststack;c)建栈i.Listnode*crete_stack(void)

7、{Linkstacks=(linkstack)malloc(sizeof(listnode));s->top=-lReturns;}d)向栈里插入数据LIntpush_stack(linkstackS,data_tx){lf(is_Full_list){Printf("Fuir);Return0;}s->data[S->top+l]=x;S->top++;N.}e)删除栈中数据i.Intpop_stack(linkstacks){lf(is_Empty」ist){Printf("FULL");Return-1;}S

8、->data[S->top]=x;S->top-;H.}10、队列a)建立结构体i.Typedefstructnode{Data」data[N】;Structnode*front,*rear;ii.Jsequeue;b)创建队列:i.Sequeue*create_sequeue(void){Sequeuesq=(sequeue*)malloc(sizeof(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。