//c++建立單鏈表及其基本操作//
#include
#include
using namespace std;
class node
;typedef int datatpye;
class list_user
;list_user::list_user()
list_user::~list_user()
void list_user::creatlist(int n)
}void list_user::locationinsert(int n, datatpye num)
int max = length();
if (n>0 && n
newnode->next = loc->next;//將新節點的next指標指向n+1位置節點處
loc->next = newnode;//將n位置處的節點指向新節點
}if (n >= max)
newnode->next = null;
loc->next = newnode;}}
void list_user::deletedata(datatpye num)
if (temp->data == num && i == len - 1)//滿足條件並且是最後乙個節點
h = temp;}}
void list_user::deletelocation(int n)
node* temp=new node;
node* h = head;
if (n
h->next = temp->next;
delete(temp);
}if (n == len)
h->next = null;
delete(temp);}}
void list_user::insert(datatpye num)
node* newnode = new node();//為新節點分配空間
h->next = newnode;
newnode->data = num;
}void list_user::deleteall()
}int list_user::length()
return length;
}datatpye list_user::locationdata(int n)
node* h = head;
for (int i = 0; i
return h->data;
}//鍊錶介面功能測試
int main()
演算法學習之資料結構之雙向鍊錶
雙鏈表的沒乙個元素都是物件,每個物件包含乙個關鍵字域和兩個指標域 next,prev 當然,每個物件還可能包含一些其他的衛星資料。next指向後繼節點,prev指向前驅節點。如果prev x null,則無前驅節點,是head頭節點。如果next x null則無後繼節點,是最後乙個節點,即尾節點t...
資料結構與演算法學習系列(3) 迴圈鍊錶
1 迴圈鍊錶應用例項 約瑟夫環問題 編號為1,2,n的的n個人按照順時針方向圍坐在一張圓桌周圍,每個人持有乙個密碼 正整數 一開始任選乙個正整數作為報數上限值m,從第乙個人開始按照順時針方向自1開始報數,報到m時停止報數,報m的那個人出列,將他的密碼作為新的m值,從他順時針方向的下乙個人開始重新從1...
資料結構與演算法之鍊錶
鍊錶的分類 1 單鏈表 頭插法 只需要維護乙個頭結點即可,常用來模擬堆疊 尾插法 需要維護頭結點和尾結點,常用來模擬佇列。2 雙向鍊錶 雙向遍歷,可以用來儲存網頁的歷史記錄等 3 迴圈鍊錶 經常出現在面試題中,判斷鍊錶是否有環。鍊錶的刪除 方式一 維護兩個指標,current 表示當前節點 和pre...