线性表删除一个元素
//删除一个元素
#include
#include
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
#define OVERFLOW -2
#define ERROR 0
#define OK 1
typedef int Status;
using namespace std;
typedef struct
{
char *elem;
int lenght;
int listsize;
}SqList;
Status InitList_Sq(SqList &L)
{
L.elem=(char *)malloc(LIST_INIT_SIZE*sizeof(char));
if(!L.elem)
exit(OVERFLOW);
L.lenght=0;
for(int i=0;i<10;i++)
{
cin>>L.elem[i];
L.lenght++;
}
L.listsize=LIST_INIT_SIZE;
return OK;
}
Status ListInsert_Sq(SqList &L,int i,char e)
{
char *q,*p;
if(i<1||i>L.lenght+1)
return ERROR;
q=&(L.elem[L.lenght-1]);
for(p=&(L.elem[i-1]);p
*p=*(p+1);
--L.lenght;
return OK;
}
int main()
{
SqList s1;int m;char e;
InitList_Sq(s1);
cout<<"你想要删除第几个数据:";cin>>m;
ListInsert_Sq(s1,m,e);
for(int i=0;i
cout<<s1.elem[i]<<" ";
cout<<endl;
return 0;
}