實驗一 線性表的操作 (鍊錶) C語言 僅參考

2021-08-17 12:01:05 字數 2749 閱讀 9709

要求:

定義乙個包含學生資訊(學號,姓名,成績)的的順序表和煉表,使其具有如下功能:

(1) 根據指定學生個數,逐個輸入學生資訊;

(2) 逐個顯示學生表中所有學生的相關資訊;

(3) 根據姓名進行查詢,返回此學生的學號和成績;

(4) 根據指定的位置可返回相應的學生資訊(學號,姓名,成績

); (5) 給定乙個學生資訊,插入到表中指定的位置;

(6) 刪除指定位置的學生記錄;

(7) 統計表中學生個數。

定義乙個包含學生資訊(學號,姓名,成績)的的順序表和煉表,使其具有如下功能:

(1) 根據指定學生個數,逐個輸入學生資訊;

(2) 逐個顯示學生表中所有學生的相關資訊;

(3) 根據姓名進行查詢,返回此學生的學號和成績;

(4) 根據指定的位置可返回相應的學生資訊(學號,姓名,成績

); (5) 給定乙個學生資訊,插入到表中指定的位置;

(6) 刪除指定位置的學生記錄;

(7) 統計表中學生個數。

#include#include#include#include#define ok 1  

#define error 0

#define overflow -2

typedef int status; // 定義函式返回值型別

typedef struct

student;

typedef student elemtype;

typedef struct lnode

lnode,*linklist;

status initlist(linklist &l) // 構造空鍊錶 l

; status getelem(linklist l,int i,elemtype &e) // 訪問鍊錶,找到 i位置的資料域,返回給 e

if(!p||j>i) return error;

e=p->data;

return ok;

} ;

status search(lnode l,char str,linklist &p) // 根據名字查詢

return error;

} ;

status listinsert(linklist l,int i,elemtype e) // 在 i個位置插入某個學生的資訊

if(!p||j>i-1) return error;

s=(struct lnode*)malloc(sizeof(lnode));

s->data=e;

s->next=p->next;

p->next=s;

return ok;

}

status listdelete(linklist p,int i) // 刪除 i位置的學生資訊

if(!(p->next)||(j>i-1)) return error;

linklist q;

q=p->next;

p->next=q->next;

delete q;

return ok;

}

void input(elemtype *e)

void output(elemtype *e)

int main()

break;

case 3:

for(int i=1;i<=x;i++)

break;

case 4:

char s[20];

printf("請輸入要查詢的學生姓名:");

scanf("%s",s);

if(search(l,s,p))

output(&(p->data));

else

puts("對不起,查無此人");

puts("");

break;

case 5:

printf("請輸入要查詢的位置:");

int id1;

scanf("%d",&id1);

getelem(&l,id1,c);

output(&c);

break;

case 6:

printf ("請輸入要插入的位置:");

int id2;

scanf("%d",&id2);

printf("請輸入學生資訊:\n");

input(&d);

if(listinsert(&l,id2,d))

else

break;

case 7:

printf("請輸入要刪除的位置:");

int id3;

scanf("%d",&id3);

if(listdelete(&l,id3))

else

break;

case 8:

printf("已錄入的學生個數為:%d\n\n",x);

break;

} }

printf("\n\n謝謝您的使用,請按任意鍵退出\n\n\n");

system("pause");

return 0;

}

實驗一 線性表的基本操作

一 線性結構的順序表基本操作 實驗目的 1.學會定義單鏈表的結點型別 線性表的順序儲存型別,實現c程式的基本結構,對線性表的一些基本操作和具體的函式定義。2.掌握順序表的基本操作,實現順序表的插入 刪除 查詢以及求並集等運算。3.掌握對多函式程式的輸入 編輯 除錯和執行過程。實驗要求 1 預習c語言...

實驗一 線性表的基本操作實現

1 實驗目的 學習線性表的順序儲存結構,掌握線性表的建立,查詢,插入,刪除和輸出等基本操作。2 實驗內容 用c 的模板機制來實現線性表的基本操作 學習掌握線性表的順序儲存結構 鏈式儲存結構的設計與操作。對順序表建立 插入 刪除的基本操作,對單鏈表建立 插入 刪除的基本操作演算法。3 實驗中用到的資料...

線性表的鍊錶實驗

1 單鏈表的建立。先建立頭結點head,將頭結點的指標域置為空 然後新建乙個結點p,把此新結點鏈結到單鏈表的尾端或始端。2 單鏈表的插入。新建乙個結點p,指定插入位置 從單鏈表頭開始查詢結點位置。3 單鏈表的刪除。指定刪除位置 從單鏈表頭開始查詢結點位置。這是學資料結構的第乙個實驗,很簡單,不過當初...