時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
#include
using namespace std;
//single link
struct slink_t{
struct slink_t* next;
int data;
slink_t(): next(0), data(0){
}
slink_t(slink_t* p, int d): next(p), data(d){
}
};
/*output data of single link */
ostream& operator<< (ostream& os, const struct slink_t* p)
{
cout << "Output : ";
while (p && cout << p->data << ' ')
p = p->next;
return os;
}
/* reverse the single link */
struct slink_t* slink_reverse(struct slink_t* p)
{
struct slink_t* t = NULL, *tp = NULL;
while (p)
{
tp = t;
t = p;
p = p->next;
t->next = tp;
}
return t;
}
//double link
struct dlink_t{
struct dlink_t* next;
struct dlink_t* prev;
int data;
dlink_t(): next(0), prev(0), data(0){
}
dlink_t(dlink_t* n, dlink_t* p, int d): next(n), prev(p), data(d){
}
};
/* output data of double link */
ostream& operator<< (ostream& os, const struct dlink_t* p)
{
cout << "Output : ";
while (p && cout << p->data << ' ')
p = p->next;
return os;
}
/* reverse the double link */
struct dlink_t* dlink_reverse(struct dlink_t* p)
{
struct dlink_t* t = NULL;
while (p)
{
t = p;
p = p->next;
t->next = t->prev;
t->prev = p;
}
return t;
}
#define TEST__
#ifdef TEST__
/* test */
int main()
{
struct slink_t* sl = new slink_t(new slink_t(new slink_t(new slink_t(new slink_t(new slink_t(NULL, 6), 5), 4), 3), 2), 1);
cout << sl << endl;
sl = slink_reverse(sl);
cout << sl << endl;
struct dlink_t* dl = NULL;
struct dlink_t* h = new dlink_t(NULL, dl, 1);
dl = h;
for (int i = 2; i < 10; i++)
{
struct dlink_t* t = new dlink_t(NULL, dl, i);
dl->next = t;
dl = t;
//? dl->prev->next = dl;
}
cout << h << endl;
h = dlink_reverse(h);
cout << h << endl;
cout << "Hello world" << endl;
return 0;
}
#endif
關(guān)鍵詞標(biāo)簽:單鏈表,雙鏈表
相關(guān)閱讀
熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP
人氣排行 Linux下獲取CPUID、硬盤序列號與MAC地址 dmidecode命令查看內(nèi)存型號 linux tc實現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機、重啟、注銷 命令 查看linux服務(wù)器硬盤IO讀寫負(fù)載