目的:通過實際操作迴圈鍊錶,掌握迴圈鍊錶的鏈式儲存結構以及驗證單鏈表及其操作的實現並進一步理解演算法與程式的關係。
內容:用尾插法建立帶頭結點的單鏈表並對已建立的迴圈鍊錶實現插入、刪除、查詢等基本操作。
#include
using namespace std;
template
struct node
;template
class student;
//無參建構函式
template
student::student()
//尾插法建表
template
student::student(t a,int n)
r->next=first;
}//析構函式
template
student::~student()
cout<
t student::get(int i)
if(p==first)throw "位置";
else return p->data;
}//按值查詢
template
int student::locate(t x)
return 0;
}//插入
template
void student::insert(int i,t x)
if(p==null) throw "位置";
else
}//刪除
template
t student::delete(int i)
if(p==first||p->next==null) throw "位置";
else
}//遍歷
迴圈鍊錶(2)
迴圈鍊錶中,如果我們要找最後乙個元素,時間複雜度為o n 因為我們需要從第乙個開始乙個接乙個的找。那怎樣再次簡化,將時間複雜度降低呢 我們可以設定乙個尾指標 作用類似於頭指標 指向尾結點,尾結點的指標指向第乙個結點,第乙個結點的指標指向第二個結點 判斷單鏈表是否有環的兩種方法 指標p和q,p一直向前...
實驗2 約瑟夫環 迴圈鍊錶的應用
維基百科 約瑟夫環問題 實驗一迴圈鍊錶的應用 一 實驗目的與基本要求 掌握資料結構中的迴圈鍊錶的一些基本概念。二 實驗內容 通過迴圈鍊錶實現約瑟夫環 例 41個人從1開始報數,報到3的出列,則最後剩下的是31號 如下 include include includeusing namespace st...
迴圈鍊錶,雙向鍊錶
迴圈鍊錶 迴圈鍊錶與順序鍊錶之間的區別 迴圈鍊錶最後乙個資料的next指標域不為空,而是指向頭結點,其他基本操作大體相同,只是在判斷表結束的條件變為判斷節點的引用域是否為頭引用 雙向鍊錶 author neosong date oct 10,2017 4 43 01 pm program of in...