學生表 用單鏈表實現

2021-09-23 13:23:02 字數 2362 閱讀 4747

/* *********************************

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

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

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

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

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

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

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

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

**********************************/

#include #include #include #define error 0

#define ok 1

//定義乙個學生型別

typedef struct student stu;

//定義乙個學生資訊的鍊錶結點

typedef struct snode snode;

//初始化鍊錶

snode *init()

//選單介面

int meau(int num);

//輸入、建立鍊錶(尾插法)

void prin(snode *s);

//輸出函式

void output(snode *s);

//按姓名查詢

void locate(snode *s);

//按序號查詢

void search(snode *s);

//插入函式

int insert(snode *s);

//刪除函式

int dle(snode *s);

//統計函式

void sta(snode *s);

//清空快取區

void empty();

//主函式

int main()

break;

case 6:

if (dle(head))

break;

case 7:

sta(head);

break;

case 0:

exit = 1;

break;

default:

printf("\n---輸入有誤---\n");

break;

}empty();

}printf("\n----------------------\n");

printf("^_^ 感謝使用學生表 ^_^\n");

printf("----------------------\n");

return 0;

}//選單介面

int meau(int num)

//輸入,建立鍊錶(尾插法)

void prin(snode *s)

}//輸出函式

void output(snode *s)

}//按姓名查詢

void locate(snode *s)

printf("\n----未找到此學生資訊----");

}//按序號查詢

void search(snode *s)

if (m == i) else

printf("\n----沒有該序號----\n");

}//插入函式

int insert(snode *s)

if (p == null || i < 1)

r = (snode *)malloc(sizeof(snode));

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

printf("學號:");

scanf("%s", r->data.no);

printf("姓名:");

scanf("%s", r->data.name);

printf("成績:");

scanf("%d", &r->data.score);

r->next = p->next;

p->next = r;

return ok;

}//刪除函式

int dle(snode *s)

if (p->next == null || i < 1)

r = p->next;

p->next = r->next;

free(r);

return ok;

}//統計函式

void sta(snode *s)

printf("\n---當前共有%d名學生---", j);

}//清空快取區

void empty()

用單鏈表實現佇列

規則 先進先出,後進後出 第一步 先初始化單鏈表結構。宣告兩個指標,乙個head指標指向頭部結點,乙個last指標指向尾部結點。初始化單鏈表時,頭部head指標和尾部last指標是重合的。用單鏈表實現佇列 author ouyangjun public class singlechaintableq...

學生表 用順序表實現

實驗內容 定義乙個包含學生資訊 學號,姓名,成績 的的順序表,使其具有如下功能 1 根據指定學生個數,逐個輸入學生資訊 2 逐個顯示學生表中所有學生的相關資訊 3 根據姓名進行查詢,返回此學生的學號和成績 4 根據指定的位置可返回相應的學生資訊 學號,姓名,成績 5 給定乙個學生資訊,插入到表中指定...

用單鏈表實現演算法2 1

algo2 12.cpp 用單鏈表實現演算法2.1,僅有4句與algo2 1.cpp不同 include c1.h typedef int elemtype include c2 2.h 此句與algo2 1.cpp不同 因為採用不同的結構 include bo2 2.cpp 此句與algo2 1....