#include<malloc.h>
#include<math.h>
#include<iostream>
#include<stdio.h>
const int MaxSize=110;
using namespace std;
typedef struct{
int data[MaxSize];
int length;
}SqList;
void CreateList(SqList *&L,int n)
{
L=(SqList*)malloc(MaxSize*sizeof(SqList));
for(int i=0;i<n;i++)
{
cin>>L->data[i];
}
L->length=n;
}
void Init(SqList *&L){
//L=(int *)malloc(sizeof(int));
//L->data=new int[MaxSize];//为顺序表分配空间
L=(SqList*)malloc(MaxSize*sizeof(SqList));
L->length=0;
}
void DestoryList(SqList*&L)
{
free(L);
}
bool IsEmpty(SqList*&L)
{
return(L->length==0);
}
int Length(SqList*&L)
{
return L->length;
}
int GetElem(SqList *&L,int i,int &e){
if(i>=0&&i<L->length)
{
e=L->data[i];
return true;
}
return false;
}
void xx(SqList *&L){
for(int i=0;i<L->length;i++)
cout<<L->data[i]<<" ";
cout<<endl;
}
int ListInsert(SqList *&L,int i,int e)
{
if(i<0||i>L->length+1||L->length==MaxSize)return false;
else
{
i--;
for(int j=L->length;j>i;j--)
{
L->data[j]=L->data[j-1];
}
L->data[i]=e;
L->length=L->length+1;
return true;
}
}
int main()
{
SqList *L;
cout<<"请输入你想创建的线性表的大小:"<<endl;
int n;
cin>>n;
cout<<"请输入它n个的元素"<<endl;
CreateList(L,n);
//Init(L);
cout<<"它的元素已经成功插入:"<<endl;
xx(L);
if(!IsEmpty(L))cout<<"顺序表不为空"<<endl;
else
cout<<"顺序表为空"<<endl;
cout<<"输入一个你想插入的数字e,和你想插入的位置i"<<endl;
int e,i;
cin>>e>>i;
ListInsert(L,i,e);
xx(L);
DestoryList(L);
return 0;
}
03-03
2685
10-06
867
09-10
1158