#include
#include
using namespace std;
template //類模板,鍊錶可以存放任意資料型別
class linklist
node;
node *head;
public:
linklist(node *p):head(p){} //建構函式
~linklist() //析構函式
while(head)
}int getlen()
node *p=head;
int len=0;
while(p)
return len;
}bool isempty() //判斷鍊錶是否為空
else
return false;
}void headinsertnode(t date) //頭插法每次都在第乙個結點的位置插入
void indexinsertnode(int n,t date) //指定位置插入
node *p=new node;
p->data=date;
if (n==1)
else
p->next=p1->next;
p1->next=p;}}
void deleteindexnode(int n) //刪除鍊錶
if (n==1)
else
node *tmp=p3->next;
p3->next=p3->next->next;
delete(tmp);
tmp=null;}}
void display() //顯示鍊錶
}void reserve() //反轉鍊錶
head->next=null;
head=p1;
}int main()
}return 0;
}
資料結構 帶頭結點鍊錶和不帶頭結點鍊錶操作比較
帶頭結點的鍊錶和不帶頭結點的鍊錶主要不同點在插入和刪除操作上。同時要注意,帶頭結點的鍊錶初始化操作時建立頭結點。下面我們來看一下 中的異同 include include includetypedef int elemtype typedef struct nodenode int insertla...
不帶頭結點的雙向迴圈鍊錶
基本概念 迴圈鍊錶 將單鏈表中最後乙個結點的next指向頭結點或者空指標,就使得整個單鏈表形成乙個環,這種頭尾相接的單鏈表稱為單迴圈鍊錶,簡稱迴圈鍊錶。雙向鍊錶 是在單鏈表的每個結點中,再設定乙個指向其前驅結點的指標域prior,在雙向鍊錶的結點中有兩個指標域,乙個next指向直接後繼,乙個prio...
不帶頭結點的單迴圈鍊錶
建立標頭檔案nlist.h pragma once 不帶頭節點的鍊錶,主要應用在迴圈鍊錶中,其缺點,操作複雜 會出現二級指標 優點 靈活 頭指標指向哪個節點哪個節點就是第乙個節點 不帶頭節點的單鏈迴圈鍊錶,尾節點的next指向第乙個節點 typedef struct nnode nnode,pnli...