/* *********************************
定義乙個包含學生資訊(學號,姓名,成績)的單鏈表,使其具有如下功能:
(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....