C 数据结构 笔记(一) —— 顺序表
来源:互联网 发布:程序员的日常工作内容 编辑:程序博客网 时间:2024/05/19 13:07
顺序表
- 内存单元连续
- 以表名唯一标识
- 数据有先后关系
顺序表定义
静态定义
#define MaxSize 100ElemType Sqlist[MaxSize];int len;
动态生成
#define MaxSize 100typedef struct { ElemType *elem; int length; int listsize;} Sqlist;void createSqlist(Sqlist *L){ L->elem = (ElemType *)malloc(MaxSize*sizeof(ElemType)); if (!L->elem) exit(0); L->length = 0; L->listsize = MaxSize;}
插入元素
静态表插入
void insertElem(ElemType Sqlist[], int n, int i, ElemType item){ int t; if (n == MaxSize || i < 1 || i > n + 1) exit(0); for (t = n - 1; t >= i-1; t--) { Sqlist[t+1] = Sqlist[t]; } Sqlist[i-1] = item; n += 1;}
动态表插入
void insertElem(Sqlist *L, int i, ElemType item){ ElemType *base; ElemType *insPtr; ElemType *p; if (i < 1 || i > L->length+1) exit(0); if (L->length >= L->listsize) { base = (ElemType *)realloc(L->elem, (L->listsize+100)*sizeof(ElemType)); L->elem = base; L->listsize = L->listsize + 100; } insPtr = &(L->elem[i-1]); for (p = &(L->elem[L->length-1]); p >= insPtr; p--) { *(p+1) = *p; } *insPtr = item; L->length += 1}
删除元素
静态表删除
void deleteElem(ElemType Sqlist[], int n, int i){ int j; if (i < 1 || i > n) exit(0); for (j = i; j < n; j++) { Sqlist[j-1] = Sqlist[j]; } n -= 1;}
冻态表删除
void deleteElem(Sqlist *L, int i){ ElemType *delPre; ElemType *p; if (i < 1 || i > L->length) exit(0); delPre = &(L->elem[i-1]); q = L->elem + L->length-1; for (++delPre; delPre <= q; ++delPre) { *(delPre-1) = *delPre; } L->length -= 1;}
阅读全文
0 0
- C 数据结构 笔记(一) —— 顺序表
- 熟悉笔记—数据结构(c语言版) 之 顺序表
- 数据结构学习笔记(一) 顺序表
- 数据结构学习笔记(一) 顺序表
- 数据结构——顺序表(c++)
- 数据结构(一)——顺序表(C语言实现)
- C语言数据结构——顺序表
- 数据结构——顺序栈(c++)
- 数据结构(一)——顺序表及实现
- 数据结构(C++)——顺序表(线性表)
- 数据结构——顺序表实现(c语言)
- 数据结构之顺序表——c(&为取值符)
- 数据结构——顺序表(C语言实现)
- 数据结构(一):顺序表
- 数据结构一顺序表
- 数据结构之顺序表(部分参考C博客—文逗,整理和参考严蔚敏版数据结构)
- 数据结构—顺序表
- 数据结构笔记--顺序表
- 上个月总项目
- 配置SSH远程登录
- phpstorm左侧项目不显示问题
- eclipse 同名变量不反色
- Centos7下利用convoy+nfs实现container之间的共享存储
- C 数据结构 笔记(一) —— 顺序表
- Windows下安装Tensorflow(GPU)
- Etcd,Zookeeper,Consul 比较
- 蓝桥杯ALGO-92前缀表达式
- Java并发之执行器和线程池
- 从对象创建和引用小议解耦
- tensorflow API:tf.argmin
- ETL工具kettle与JAVA结合使用程序生成转换
- Unable to instantiate activity ComponentInfo on path: DexPathList