📄 main.cpp
字号:
#include <iostream.h>
#include <malloc.h>
#define MAXNUM 100
#define INCREMENT 10
typedef struct {
int *elem;
int length;
int listsize;
}SqList;
void CreatList(SqList &l) //建立一个顺序表,数据元素为整数,数据由键盘随机输入
{int n;
cout<<"请输入数据的个数:";
cin>>n;
l.elem=(int*)malloc(MAXNUM*sizeof(int));
for(int i=0;i<n;i++)
{cout<<"第"<<i+1<<"个元素为:";
cin>>l.elem[i];
l.length=n;
l.listsize=MAXNUM;
}
}
void PrintList(SqList &l)
{
cout<<"顺序为表:";
for(int i=0;i<l.length;i++)
cout<<l.elem[i]<<" ";
cout<<endl;
}
void ListInsert(SqList &l,int j ,int x)
{
int *newbase;
int *q,*p;
cout<<"请输入要插入的位置:";
cin>>j;
cout<<"要插入的元素是:";
cin>>x;
cout<<"在第"<<j<<"个元素前插入:"<<x<<endl;
if(l.length>=l.listsize)
{
newbase=(int*)realloc(l.elem,(l.listsize+INCREMENT)*sizeof(int));
l.elem=newbase;
l.listsize+=INCREMENT;
}
q=&(l.elem[j-1]);
for(p=&(l.elem[l.length-1]);p>=q;--p)*(p+1)=*p;
*q=x;
++l.length;
}
void PrintInsert(SqList &l)
{
cout<<"插入后的顺序为:";
for(int i=0;i<l.length;i++)
cout<<l.elem[i]<<" ";
cout<<endl;
}
void ListDelete(SqList &l,int j)
{int *p,*q;int x;
cout<<"请输入要删除的位置:";
cin>>j;
p=&(l.elem[j-1]);
q=l.elem+l.length-1;
for(++p;p<=q;++p)
*(p-1)=*p;
--l.length;
x=l.elem[j-2];
cout<<"要删除第"<<j<<"个元素:"<<x<<endl;
}
void PrintDelete(SqList &l)
{cout<<"删除后的顺序表为:";
for(int i=0;i<l.length;i++)
cout<<l.elem[i]<<" ";
cout<<endl;
}
void main()
{SqList l;
int j=0;
int x=0;
cout<<"创建顺序表"<<endl;
CreatList(l);
PrintList(l);
ListInsert(l,j,x);
PrintInsert(l);
ListDelete(l,j);
PrintDelete(l);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -