吼,數(shù)據(jù)結(jié)構(gòu)上機(jī)課1
唔,好歹是學(xué)到了新東西,不慌。
#include<stdio.h> #include<stdlib.h> #include<malloc.h> #define M 20 typedef int ElemType; typedef struct S { ElemType elem[M]; int l; }S; int inits(S &L) //初始化 {L.l=0; return 1;} int finds(S &L,int x) //查找 { int i=0; while(i<L.l&&L.elem[i]!=x) i++; if(i>=L.l) {printf("順序表中不存在該元素!\n"); return 0;} else return i+1; } int inserts(S &L,int i,int x) //插入 { int j; if(L.l>=M) {printf("順序表已滿,無(wú)法進(jìn)行插入操作!\n"); return 0;} if(i<=0||i>L.l+1) {printf("插入位置不正確!\n"); return 0;} for(j=L.l-1;j>=i-1;j--) {L.elem[j+1]=L.elem[j];} L.elem[i-1]=x; L.l++; return 1; } int deletes(S &L,int i) //刪除 { int j; if(i<1||i>L.l) {printf("刪除位置不正確!\n"); return 0;} for(j=i;j<L.l;j++) L.elem[j-1]=L.elem[j]; L.l--; return 1; } int prints(S L) //輸出 { int i; for(i=0;i<L.l;i++) printf("%d",L.elem[i]); printf("\n"); return 1; } void main() { S L; ElemType e,x; int i=1,k,j; inits(L); printf("初始化\n建立順序表如下:\n"); //不用自己手動(dòng)輸入 inserts(L,1,1); inserts(L,2,2); inserts(L,3,3); inserts(L,4,4); prints(L); while(i<=3) { printf("\n 主菜單 \n"); printf(" 1 查找指定元素 \n"); printf(" 2 插入元素到指定位置 \n"); printf(" 3 刪除某一指定位置元素 \n"); printf(" 0 結(jié)束程序 \n"); printf("--------------------------------------\n"); printf("請(qǐng)輸入您選擇的菜單號(hào)<1,2,3,0>:"); scanf("%d",&i); switch(i) { case 1: printf("請(qǐng)查找元素:"); scanf("%d",&x); j=finds(L,x); if(j) printf("指定元素位置=%d\n",j); break; case 2: printf("請(qǐng)輸入插入元素位置:"); scanf("%d",&k); printf("請(qǐng)輸入插入元素值:"); scanf("%d",&x); j=inserts(L,k,x); if(j) {printf("插入后順序表如下所示:\n"); prints(L);} break; case 3: printf("請(qǐng)輸入刪除元素位置:"); scanf("%d",&k); j=deletes(L,k); if(j!=0) {printf("刪除后順序表如下所示:\n"); prints(L);} break; case 0: exit(0); break; default: printf("輸入有誤!\n"); } } }
格式更加合理了叭……就
還學(xué)到了ElemType的使用嘞,不戳!
終于回憶起來(lái)我的博客園了嘻嘻,學(xué)校機(jī)房有的登陸不上啊嘖嘖嘖,為數(shù)不多的保存機(jī)會(huì)咯!

浙公網(wǎng)安備 33010602011771號(hào)