代碼功能截圖:
部分源碼:
#include<stdio.h> #include<stdlib.h> #define MAXSIZE 20 typedef int ElemType; typedef struct { ElemType a[MAXSIZE]; int length; }SqList; SqList a,b,c; void creat_list(SqList *l); void out_list(SqList l); void insert_sq(SqList *l,int i,ElemType e); ElemType delete_sq(SqList *l,int i); int locat_sq(SqList l,ElemType e); int main() {int i,k,loc;ElemType e,x;char ch; do{ printf("\n"); printf("\n 1.建立順序表"); printf("\n 2.插入元素"); printf("\n 3.刪除元素"); printf("\n 4.查找元素"); printf("\n 0.結束程序運行"); printf("\n============================"); printf("\n 請輸入您的選擇(1,2,3,4,0) \n"); scanf("%d",&k); switch(k) {case 1:{creat_list(&a); out_list(a); } break; case 2:{printf("\n 請輸入插入位置(大於等於1,小於等於%d):",a.length+1); scanf("%d",&i); printf("\n 請輸入要插入元素值:"); scanf("%d",&e); insert_sq(&a,i,e); out_list(a); } break; case 3:{printf("\n 請輸入要刪除的元素的位置(大於等於1,小於等於%d):",a.length); scanf("%d",&e); x=delete_sq(&a,e); out_list(a); if(x!=-1) printf("\n刪除的元素為:%d\n",x); else printf("要刪除的元素不存在!"); } break; case 4:{printf("\n 請輸入要查找元素值:"); scanf("%d",&e); loc=locat_sq(a,e); if(loc==-1) printf("\n未找到指定元素!"); else printf("已找到,元素位置是%d",loc); }break; }/*switch*/ }while(k!=0); printf("\n 按Enter鍵,返回..."); // ch=getchar(); }/* main*/ /*建立順序表*/ void creat_list(SqList *l) { int i; printf("請輸入順序表的長度:"); scanf("%d",&l->length); for(i=0;i<l->length;i++) { printf("數據 %d=",i); scanf("%d",&(l->a[i])); } }/*creat_list*/ /*輸出順序表*/ void out_list(SqList l) {int i; for(i=0;i<=l.length-1;i++) printf("%10d",l.a[i]); }/*out_list*/ /*在順序表的第i個位置插入元素e*/ void insert_sq(SqList *l,int i,ElemType e) { int j; if(l->length==MAXSIZE) printf("順序表已滿!\n"); else if (i<1||i>l->length +1) printf("輸入位置錯誤\n"); else{ for(j=l->length-1;j>=i-1;j--) l->a[j+1]=l->a[j]; l->a[i-1]=e; l->length++; } }/*insert_sq*/
注意這里僅為部分代碼。獲取源碼請關注“值南針”微信公眾號:可用電腦微信關注或手機關注。在電腦方便。直接下載源碼。
點擊下載直接就可以用的。