数据结构c语言实现之静态单链表
2013-12-08 14:06
239 查看
//c语言实现静态单链表,参考严蔚敏书本代码和《数据结构算法实现及解析》 #include<malloc.h> // malloc()等 #include<limits.h> // INT_MAX等 #include<stdio.h> // EOF(=^Z或F6),NULL #include<stdlib.h> // atoi() #include<io.h> // eof() #include<math.h> // floor(),ceil(),abs() #include<string.h> #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define N 6 // 字符串长度 typedef char ElemType ; // c2-3.h 线性表的静态单链表存储结构 #define MAX_SIZE 100 // 链表的最大长度 typedef struct { ElemType data; int cur; }component,SLinkList[MAX_SIZE]; void main() { SLinkList s={{"",1},{"ZHAO",2},{"QIAN",3},{"SUN",4},{"LI",5},{"ZHOU",6},{"WU",7},{"ZHENG",8},{"WANG",0}}; // 教科书中图2.10(a)的状态 int i; i=s[0].cur; // i指示第1个结点的位置 while(i) { // 输出教科书中图2.10(a)的状态 printf("%s ",s[i].data); // 输出链表的当前值 i=s[i].cur; // 找到下一个 } printf("\n"); s[4].cur=9; // 按教科书中图2.10(b)修改(在"LI"之后插入"SHI") s[9].cur=5; strcpy(s[9].data,"SHI"); s[6].cur=8; // 删除"ZHENG" i=s[0].cur; // i指示第1个结点的位置 while(i) { // 输出教科书中图2.10(b)的状态 printf("%s ",s[i].data); // 输出链表的当前值 i=s[i].cur; // 找到下一个 } printf("\n"); getchar(); }
相关文章推荐
- 数据结构c语言实现之单链表的应用
- 数据结构c语言实现之单链表
- 数据结构c语言实现之顺序线性表
- POJ 1028 Web Navigation
- Android Binder 驱动分析 - 数据结构
- 冒泡排序
- 数据结构当中的问题
- 排序数据结构(用模板实现)
- 【数据结构】栈 Stack
- 数据结构与算法实验题7.2 连环计
- 重读数据结构之--图
- 重读数据结构之-- 霍夫曼编码
- 重读数据结构之-- 树
- 重读数据结构之-- 字符串
- 重读数据结构之--队列
- 重读数据结构之--栈
- 重读数据结构之--线性表
- 重读数据结构之--算法的时间空间复杂度
- 索引(Index)是帮助MySQL高效获取数据的数据结构。
- 二叉树的创建。