欢迎来到天天文库
浏览记录
ID:40798663
大小:58.00 KB
页数:6页
时间:2019-08-07
《各种存储结构结构体》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据结构-结构体的声明 一般来说,知道了各种存储结构的结构体,或者各种算法(其实算法是在各种特定的存储结构下实现)所需的结构体,所以我觉得记住或者牢记各种场合,各种情形下所需要的存储结构的结构体,对算法的创建和表达就会轻松和容易许多。一、顺序存储 1、顺序表 #defineMAXSIZE100 typedefintdatatype; typedefstruct {datatypea[MAXSIZE]; intsize; }sequence_l
2、ist;2、栈(顺序栈) #defineMAXSIZE100 typedefintdatatype; typedefstruct {datatypea[MAXSIZE]; inttop; }sequence_stack;3、队列(顺序队列,顺序循环队列) #defineMAXSIZE100 typedefintdatatype; typedefstruct {datatypea[MAXSIZE];
3、 intfront; intrear; }sequence_queue; 其中循环队列判满条件:(rear+1)%MAXSIZE=front;判空条件:rear=front二、链式存储 1、单链表(带头结点的单链表,循环单链表) typedefintdatatype; typedefstructlink_node {datatypeinfo; structlink_node*next; }node;2、双链表
4、 typedefintdatatype; typedefstructdlink_node {datatypeinfo; structlink_node*llink,*rlink; }dnode;3、链式栈 typedefintdatatype; typedefstructlink_node {datatypeinfo; structlink_node*next; }node; node*top;4、
5、链式队列 typedefintdatatype; typedefstructlink_node {datatypeinfo; structlink_node*next; }node; typedefstruct {node*front,*rear; }queue;三、字符串 1、顺序串:模式匹配(朴素的模式匹配算法,KMP算法) #defineMAXSIZE100 typedefstruct
6、 { charstr[MAXSIZE]; intlength; }seqstring; 2、链式串 typedefstructnode {chardata; structnode*next; }linkstrnode; typedeflinkstrnode*linkstring; 3、N维数组:行优先存储,列优先存储 (三维数组) typedefintdatatype; typdefstruct
7、 {datatype*base;//数组存储区的首地址指针 intindex[3];//存放三维数组各维的长度 intc[3];//存放三维数组各维的ci值 }array;四、树1、双亲表示法 #defineMAXSIZE100 typedef chardatatype;//节点值的类型 typedefstructnode//结点类型 {datatypedata; intparent;//结点双亲的下标 }node
8、; typedefstructtree { nodetreelist[MAXSIZE];//存放结点的数组 intlength,root;//树中实际所含结点的个数,根节点的位置 }tree;//树的类型2、孩子表示法(
此文档下载收益归作者所有