順序表的刪除(動態數組)

#include <stdio.h>
#include <stdlib.h>
int main()
{
int *a=0,n,i,m,j,k;
scanf("%d",&n);
if(n<1000)
{
a=(int *)malloc(sizeof(int)*n);
do{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
scanf("%d",&m);
for(i=0;i<m;i++)
{
scanf("%d",&j);
if(j==0||j>n)
printf("-1\n");
else{
printf("%d\n",a[j-1]);
free((void *)a[n-1]);
n=n-1;
for(k=j-1;k<n;k++)
a[k]=a[k+1];
}
}
}while(scanf("%d",&n)!=EOF);
}
return -1;
}
發佈了17 篇原創文章 · 獲贊 7 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章