完善教材中數(shù)組順序表初始化、特定位置插入元素、刪除特定值等操作#include <iostream>using namespace std;//順序表刪除所有值為x的元素#define Maxsize 100typedef int ElemType;//定義結(jié)構體數(shù)組typedef struct{    ElemType elem[Maxsize];    int last;}SeqList;//初始化數(shù)組void initList(SeqList *L){    ElemType e;    L->last=0;    PRintf("請輸入元素:/n");    scanf("%d",&e);    while(e!=0)    {        if((L->last)>Maxsize)            printf("表已滿,無法繼續(xù)輸入");        L->elem[L->last]=e;        (L->last)++;        scanf("%d",&e);    }    L->last--;}//在數(shù)組的第i個位置插入元素eint InsList(SeqList *L,int i,ElemType e){    int k;    if(i<1||i>L->last)    {        printf("插入位置i不合法");        return 0;    }    if((L->last)>Maxsize)    {        printf("表已滿");        return 0;    }    for(k=L->last;k>=i;k--)    {        L->elem[k+1]=L->elem[k];    }    L->elem[k+1]=e;    L->last++;    return 0;}//刪除數(shù)組值為x的元素void delx(SeqList *L,int x){    int i=0,j=0;    while(i<=(L->last))    {        if((L->elem[i])!=x)        {            L->elem[j]=L->elem[i];            i++;            j++;        }        else i++;    }    L->last=j-1;}//打印數(shù)組void show(SeqList *L){    int i=0;    for(i=0;i<=L->last;i++)    {        printf("%d ",L->elem[i]);    }    printf("/n");}int main(){    int i;    ElemType e1,e2;    SeqList L;    initList(&L);    printf("%d/n",L.last);    printf("請輸入要插入的數(shù)和插入的位置:");    scanf("%d %d",&e1,&i);    InsList(&L,i,e1);    printf("插入后的數(shù)組為:/n");    show(&L);    printf("請輸入要刪除的數(shù):");    scanf("%d",&e2);    delx(&L,e2);    printf("刪除后的數(shù)組為:/n");    show(&L);    return 0;}實驗結(jié)果如下:
新聞熱點
疑難解答