ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

对线性表(顺序表)的一些操作

对线性表(顺序表)的一些操作 #include stdio.h#include stdlib.h#define MAXSIZE 100typedef int Elemtype;//initialize listtypedef struct{Elemtype date[MAXSZE];Elemtype length;} SeqList;//动态化初始顺序表SeqList* initList(){SeqList* L(SeqList*)malloc(sizeof(SeqList));L-length0;L-date(int*)malloc(sizeof(int)*MAXSIZE);return L;}//不仅要申请存放结构体的内存还要申请存放数据的内存//尾部添加元素int appendElem(SeqList* L,int e){if(L-lengthMAXSIZE){printf(full);return 0;}L-date[L-length]e;L-length;return 1;}//遍历顺序表void ListElem(SeqList* L){if(L-lengthMAXSIZE){printf(full);return 0;}for(int i0;iL-length;i){printf(%d,L-date[i]);}}//插入元素int insertElem(int pos,int e){if(L-lengthMAXSIZE){printf(full);return 0;}if(pos1||posL-length){printf(插入位置错误)return 0;}if(posL-length){for(int iL-length;ipos-1;i--){L-date[i]L-date[i-1];}L-date[pos-1]e;L-length;//length是几代表有几个元素从0开始}return 1;}//删除元素int deleteElem(int pos,SeqList* L,Elemtype* e){//e用来把删除的元素带出去if(L-length0){printf(empty);return 0;}if(posL-length||pos1){printf(插入位置错误)return 0}*eL-date[pos-1];if(posL-length){for(int ipos;iL-length;i){L-date[i-1]L-date[i];}}L-lengh--;return 1;}//查找数据位置int findElem(SeqList* L,int e){for(int i0;iL-length;i){if(L-date[i]e){return i1;}return 0;}}
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进