C++|【C++数据结构程序笔记】顺序存储下的线性表操作的实现

#include #include #include #include"stdlib.h" typedef int ElemType; using namespace std; struct List{ ElemType *list; int size; int MaxSize; }; //1、初始化线性表 void InitList(List &L){ L.MaxSize=10; L.list=new ElemType[L.MaxSize]; if(L.list==NULL){ cout<<" 动态可分配的存储空间用完,退出运行!"<L.size){ cerr<<" pos is out range!"<L.size+1){ cout<<" pos值无效!"<=pos-1; i--) L.list[i+1]=L.list[i]; L.list[pos-1]=item; //把item的值赋给已经空出的pos-1的位置,成为第pos个元素 L.size++; //由于插入了一个新元素,故线性表的长度加一 return true; //插入成功返回真 } //10、 从线性表中删除符合给定条件的的第一个元素的值 bool DeleteList(List &L,ElemType &item,int pos){ //检查线性表是否为空,若是,返回假,无法删除 if(L.size==0){ cout<<"线性表为空无法删除!"<L.size){ cout<<" pos值无效,无法删除!"<10){ int k=sizeof(ElemType); L.list=(ElemType*)realloc(L.list,L.MaxSize*k/2); L.MaxSize=L.MaxSize/2; } return true; } //11、对线性表进行排序 void SortList(List &L){//对L中的所有元素按照给定条件排序 List a; //定义一个临时的线性表a InitList(a); //初始化a for(int i=0; i>x; if(FindList(t,x)) cout<<" 查找成功!"<>x; if(DeleteList(t,x,0)) cout<<" 删除成功!"<>x; if(InsertList(t,x,0)) cout<<" 插入成功!"<

    推荐阅读