第十三週可選專案 鍊錶類

2021-07-03 04:13:02 字數 2880 閱讀 6366

動態鍊錶也是程式設計中的一種非常有用的資料結構。可以說,是否能夠理解有關操作的原理,決定了你是否有資格稱為「科班」出身。在後續的專業基礎課中,相關的內容還會從不同的角度,反覆地認識,反覆地實踐。不過,在現階段多些體驗,也是很有必要的了。

(1)閱讀下面的程式,回顧一下動態鍊錶,閱讀程式過程中,請用筆畫一畫形成鍊錶的過程中指標值的變化。

[cpp]view plain

copy

print?

#include 

using

namespace

std;  

struct

student  

;  int

main( )  

//輸出動態鍊錶

p=head;  

while

(p!=null)  

return

0;  

}  

(2)請在下面已有**的基礎上完善程式,完成動態鍊錶的簡單操作,程式執行的截圖供參考。

[cpp]view plain

copy

print?

class

student  

//結點類

~student();  

student *next;   //指向下乙個結點

intnum;  

double

score;  

};  

class

mylist  

//鍊錶類,其中的成員是學生 

mylist(int

n,double

s); 

//以student(n,s)作為單結點的鍊錶

~mylist();  

intdisplay();  

//輸出鍊錶,返回值為鍊錶中的結點數

void

insert(

intn,

double

s);  

//插入:將student(n,s)結點插入鍊錶,該結點作為第乙個結點

void

intn,

double

s);  

//追加:將student(n,s)結點插入鍊錶,該結點作為最後乙個結點

void

cat(mylist &il); 

//將鍊錶il連線到當前物件的後面

intlength();  

//返回鍊錶中的結點數(另一種處理,可以將結點數,作為乙個資料成員)

private

:  student *head;   //鍊錶的頭結點

};  

//以下為類成員函式的定義

……  

//測試函式

intmain()  

cout<

/輸出head1

head1.display();  

mylist head2(1001,98.4);  //建立head2鍊錶

cout<

/輸出head2

head2.display();  

head2.cat(head1);   //把head1追加到head2後面

cout<

<

cout<

/顯示追加後的結果

class student  //結點類

~student()

;student *next;   //指向下乙個結點

int num;

double score;

};class mylist  //鍊錶類

mylist(int n,double s); //以student(n,s)作為單結點的鍊錶

~mylist();

int display();  //輸出鍊錶,返回值為鍊錶中的結點數

void insert(int n,double s);  //插入:將student(n,s)結點插入鍊錶,該結點作為第乙個結點

void cat(mylist &il); //將鍊錶il連線到當前物件的後面

int length();  //返回鍊錶中的結點數

private:

student *head;   //鍊錶的頭結點

};mylist::mylist(int n,double s)//建構函式,以student(n,s)作為單結點的鍊錶

mylist::~mylist()    //析構函式,有new,就要有delete

head = null;    //刪除後,把第乙個結點的指標設定為空指標

}int mylist::display()    //輸出鍊錶,返回值為鍊錶中的結點數

int cnt=0;

student *pt=head; 

while(pt)

return cnt;

}void mylist::insert(int n, double s) //插入:將student(n,s)結點插入鍊錶,該結點作為第乙個結點

pts->next=pt;

}}void mylist::cat(mylist& il) //將鍊錶il連線到當前物件的後面

}int mylist::length()  //返回鍊錶中的結點數

return cnt;

}int main()

cout<

第十三周 專案 鍊錶類

問題及 專案 鍊錶類 all right reserved 檔名 形狀類族的中的純虛函式 作者 童宇 完成日期 2015 年 6月 3日 版本號v1.0 問題描述 1 閱讀下面的程式,回顧一下動態鍊錶,閱讀程式過程中,請用筆畫一畫形成鍊錶的過程中指標值的變化。輸入描述 程式輸出 include us...

第十三周 鍊錶類

include using namespace std class student 結點類 student int num double score student next 指向下乙個結點 class mylist 鍊錶類,其中的成員是學生 mylist int n,double s 以stude...

第十三周 專案4 (1)

檔名稱 grade.cpp 作 者 劉天恩 完成日期 2014年11月23日 版 本 號 v1.0 問題描述 用冒泡法按降序排序a中元素,輸出排序後的陣列.用冒泡法按降序排序b中元素,輸出排序後的陣列.程式輸入 無 程式輸出 輸出按降序排序後a,b陣列中的元素 includeusing namesp...