//线性表
#include<iostream>
#include<cstdlib>
#include<cstdio>
using namespace std;
#define Maxnum 100
typedef int ElementType;
typedef struct LNode *list;
struct LNode{
int last;//结束点指针
ElementType Data[Maxnum];
};//定义线性表
struct LNode L;
list p;
list MakeEmpty(){
list Ptrl;
Ptrl=(list)malloc(sizeof(struct LNode));
Ptrl->last=-1;
return Ptrl;
}//创建新表
void InsertElement(int x,ElementType i){
if(x<0 || x>p->last+1){
printf("Please enter a right number!");
return;
}
if(p->last>=Maxnum-1){
printf("The table is full!");
return;
}
for(int j=p->last;j>=x;j--){
p->Data[j+1]=p->Data[j];
}
p->Data[x]=i;
p->last++;
return;
}//插入一个值
void Delete(int i){
if(i<0 || i>p->last){
cout<<"The number is wrrong!";
return;
}
for(int j=i;j<=p->last;j++){
p->Data[i]=p->Data[i+1];
}
p->last--;
}//删除某一个位置上的元素
void Printn(){
cout<<"the list is:";
for(int i=0;i<=p->last;i++){
cout<<p->Data[i]<<" ";
}
cout<<endl;
}//打印线性表
void FindElement(ElementType x){
int i;
if(p->last<0){
cout<<"The list is null!";
return;
}//表为空
for(i=0;i<=p->last;i++){
if(p->Data[i]==x){
cout<<"The number is in"<<i;
break;
}
}
if(i>p->last)
cout<<"Not find "<<x<<" in this list!";
cout<<endl;
}//寻找一个元素
int main(){
p=MakeEmpty();
InsertElement(0,1);
InsertElement(0,3);
Printn();
FindElement(5);
Delete(1);
Printn();
return 0;
}