資料結構c語言版之順序表的刪除
阿新 • • 發佈:2019-02-12
#include<stdio.h> #include<stdlib.h> #define MAX 100 typedef struct { int data[MAX]; int last; }seqlist; seqlist *init_seqlist() { seqlist *L; L=(seqlist *)malloc(sizeof(seqlist)); L->last=-1; return L; } int delete_seqlist(seqlist *L,int i) { int j; if(i<1||i>L->last+1) { printf("不存在第i個元素!"); return 0; } for(j=i;j<=L->last;j++) { L->data[j-1]=L->data[j]; } L->last--; } int main() { char c; int i; seqlist *L; L=init_seqlist(); printf("請從鍵盤上輸入五個數:\n"); for(int i=0;i<5;i++) { c=getchar(); L->data[i]=c; L->last++; c=getchar(); //由於回車鍵會預設字元多以多加入了一個 } delete_seqlist(L,3);//表示刪除第三個數 printf("刪除第三個數後為:\n"); for(int i=0;i<4;i++)//刪除後與之前比少了一個元素 { printf("%c\n",L->data[i]); } return 0; } //本程式碼僅供參考