标签:初始化 null 栈和队列 com int 结构 max 移动 判断
数据结构
C语法讲完了。语法C语言一套跟计算机交流的语言。经典的东西:歇后语 成语
语法都是前面讲过,经过提炼的。用来处理数据的抽象的方法。
线性表 顺序表 链表(单链表 双向链表)
栈和队列
树
图
线性表 栈 队列
线性表: 1、顺序表(数组):是存放在连续的存储空间。
2、链表(单链表):单一的存放,使用指针把单一的单元连在一起。
typedef 取别名
1、初始化
1 Size = 0; 2 3 //初始化一个顺序表 4 void SeqListInit(SeqList *L) 5 { 6 L->size = 0; 7 } 8
2、插入:把插入的位置之后的数据往后移动,腾出一个空间给新的数据。
1 //插入数据 插入成功返回1 插入失败返回0 2 int SeqListInsert(SeqList *L, int num, int data) //在顺序表L中第num个位置之前插入一个数据data 3 { 4 if (L->size >= MAXSIZE) 5 { 6 printf("顺序表已满\n"); 7 return 0; 8 } 9 else if (num <= 0 || num > L->size) 10 { 11 printf("你输入的num不合法!\n"); 12 return 0; 13 } 14 else 15 { 16 for (int i = L->size; i > num; i--) //6ci 17 { 18 L->data[i] = L->data[i - 1]; //size 10 data[0-9] 10 19 } 20 21 L->data[num] = data; 22 L->size++; 23 return 0; 24 } 25 }
3、删除
把后面的内容往前移。
1 int SeqListDelete(SeqList *L, int num) //删除第num个元素 2 { 3 if (L->size <= 0) //NULL L->size 大小 NULL 内存 4 { 5 printf("顺序表里面没有数据。\n"); 6 return 0; 7 } 8 else if (num < 0 || num >= L->size) 9 { 10 printf("你输入的num不合法。\n"); 11 return 0; 12 } 13 else // {} () [] "" ‘‘ <> /* .... */ 14 { 15 for (int i = num; i < L->size; i++) //for 第一重要的事情就是判断循环的次数 16 { 17 L->data[i-1] = L->data[i]; 18 } 19 20 L->size--; 21 return 1; 22 } 23 }
4、查找 找到之后修改就很简单了。
1 int SeqListGet(SeqList *L, int num,int data) //修改 2 { 3 if (num<0 || num>L->size - 1) 4 { 5 printf("输入的num不合法\n"); 6 return 0; 7 } 8 else 9 { 10 printf("%d\t", L->data[num - 1]); 11 L->data[num - 1] = data; 12 } 13 }
标签:初始化 null 栈和队列 com int 结构 max 移动 判断
原文地址:https://www.cnblogs.com/tiantiancode/p/11131905.html