#include<stdio.h>
#define MaxSize 20
typedef struct seqlist
{
int elem[MaxSize];
int listlength;
}Seqlist;
void InitList(Seqlist*l) {
l->listlength = 0;
}//初始化顺序表
void Print(Seqlist l) {
int i;
for (i = 0; i < l.listlength; ++i)
printf("%d ", l.elem[i]);
}//输出顺序表
int Inlist(Seqlist l, int x)//在有序表中查找元素
{
int i = 0;
while (i < l.listlength && l.elem[i] < x)
i++;
if (i < l.listlength)
if (x = l.elem[i])
return (i);
return (-1);
}
void Inslist(Seqlist* l, int x) {
int i = 0, j;
while (i<l->listlength && x>l->elem[i])
i++;
for (j = l->listlength - 1; j >= i; --j)
l->elem[j + 1] = l->elem[j];
l->elem[i] = x;
(l->listlength)++;
}//将元素x插入到有序表中
void DelList(Seqlist* l, int i)
{
int j;
if (i<0 || i>l->listlength - 1)
{
printf("\n 查找错误 ");
return;
}
for (j = i + 1; j <= l->listlength - 1; ++j)
l->elem[j - 1] = l->elem[j];
l->listlength--;
}
main()
{
Seqlist list;
int index=0, element,x;
InitList(&list);
printf("请输入第一个数到表:");
scanf("%d", &element);
printf("请输入其他数:");
while (element != 0) {
Inslist(&list, element);
scanf("%d", &element);
}
Print(list);
printf("输入要删除的数字:");
scanf("%d", &x);
if (index == -1)
printf("%d不在数列中\n", x);
else
DelList(&list, index);
Print(list);
}