通過鍊錶來實現對學生資訊的管理

2021-05-25 06:45:54 字數 1156 閱讀 9751

/*動態從鍵盤讀入學生的姓名和成績,為每個學生建立乙個節點,並將所有學生的資訊構成乙個鍊錶*/

/*當使用者輸入0時,表示資訊輸入結束。然後程式輸出鍊錶中存放的學生資訊,並在程式結束以前釋放所有動態申請的空間*/

#include

#include

using namespace std;

struct studentnode//定義結點的結構

char name[20];

float score;

studentnode *next;

int main()

studentnode *head=null;//煉表表頭結點

studentnode *tail=null;//鍊錶尾結點

char name[20];//存放臨時有戶名

float score;//存放臨時成績

while (1)

cout<<"input the student name and score(0 to exit):">name;

if (name[0]=='0')//名字為0的時候退出

break;

cin>>score;

/* 建立乙個新的結點,並將其變數賦值*/

studentnode *pnew=new studentnode;

strcpy(pnew->name,name);

pnew->score=score;

pnew->next=null;

if(tail==null)//如果鍊錶為空,則當前結點成為煉表頭結點

head=pnew;

else               //反之,當前結點插入到鍊錶尾

tail->next=pnew;

tail=pnew;//新插入的結點成為鍊錶的尾結點

studentnode *pnode=head;//輸出鍊錶

while (pnode!=null)

coutpnode=pnode->next;

if (pnode!=null)

cout<<"-->";

while(head!=null)//釋放堆空間

pnode=head;

head=head->next;

delete pnode;

return 0;

鍊錶實現簡單學生資訊管理

include include include define len sizeof struct stu typedef long long ll struct stu 建立學生資訊的結構體,包含學號,姓名 成績三個子項 struct stu creat 建立乙個鍊錶 if tail null 將尾...

如何通過鍊錶來管理驅動的?

下面的圖是mmc裝置的驅動分析 與鍊錶相關的檔案在list.h標頭檔案裡面有定義 關於list add tail之前是不懂的,總覺得新的結點是放在了乙個很奇怪的位置,或者說是頭結點的前面。關於網絡卡驅動 中間通過for迴圈去遍歷整個eth devices鍊錶,找到最後乙個節點之後,就把新的裝置插入到...

學生資訊管理系統 鍊錶

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