删除顺序表中最小元素
typedef int Datatype;
typedef struct{
Datatype *data;
int n;
int maxsize;
}seqlist;
void Init(seqlist *L)
{
L->data=(Datatype *)malloc(sizeof(Datatype)*initsize);
L->n=0;
L->maxsize=initsize;
}
void creat(seqlist *L, int n)
{
int i;
for(i=0;i<n;i++)
{
scanf("%d",&L->data[i]);
}
L->n=n;
}
void removemin(seqlist *L,int *count)
{
int i=0,pos=0;
for(i=1;i<L->n;i++)
{
if(L->data[i-1]<L->data[pos])
pos=i;
}
*count=L->data[pos];
L->n--;
L->data[pos]=L->data[L->n];
}
void show(seqlist L)
{
for(int i=0;i<L.n;i++)
printf("%d",L.data[i]);//L没用指针
}
void main()
{
int n,move;
seqlist L;
Init(&L);
printf("请输入你想创建的长度:");
scanf("%d",&n);
printf("请输入初始值:");
creat(&L,n);
printf("你创建的顺序表为:\n");
show(L);
removemin(&L,&move);
printf("\n最小值为:%d",move);
printf("删除后的顺序表:\n");
show(L);
system("pause");}