- 首页 > it技术 > >
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<<" 插入成功!"<
推荐阅读