20-数据结构
Posted tiantiancode
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20-数据结构相关的知识,希望对你有一定的参考价值。
数据结构
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
以上是关于20-数据结构的主要内容,如果未能解决你的问题,请参考以下文章
20.1 shell脚本介绍 20.2 shell脚本结构和执行 20.3 date命令用法 20.
20.1 shell脚本介绍 20.2 shell脚本结构和执行 20.3 date命令用法 20.