#include"allhead.h"
templateclass dblist;
templateclass dblistnode
dblistnode(t x,dblistnode*pt = null,dblistnode*nt = null) };
templateclass dblist
~dblist()
status push_back(t x);
status push_front(t x);
t gethead();
t getlast();
void show_dblist();
size_t getlenth()
void makeempty();
status isempty()
status pop_back();
status pop_front();
status insert_val(t x);
status del_val(t x);
void sort();
void reverse();
};templatevoid dblist::reverse()
}templatevoid dblist::sort()
if(h == begin)
m->next = h;
m->pre = h->pre;
h->pre->next = m;
h->pre = m;
} }}templatestatus dblist::del_val(t x)
if(p == begin)
p->pre->next = p->next;
p->next->pre = p->pre;
delete p;
--size;
return ok;
}templatestatus dblist::insert_val(t x)
if(p == begin)
s->next = p;
s->pre = p->pre;
s->pre->next = s;
p->pre = s;
++size;
return ok;
}templatestatus dblist::pop_front()
return ok;
}templatestatus dblist::pop_back()
templatet dblist::getlast()
templatevoid dblist::show_dblist()
cout<<"null"templatestatus dblist::push_front(t x)
s->data = x;
s->next = begin->next;
s->pre = begin;
begin->next = s;
s->next->pre = s;
++size;
return ok;
}templatestatus dblist::push_back(t x)
templatevoid dblist::makeempty()
end = begin;
size = 0;
}}
#if 1
#include"dblist.h"
int main()
break;
case 2:
int val_pb;
cout<<"請輸入插入的值(以-1結束):>">val_pb,val_pb!=-1)
break;
case 3:
myls.show_dblist();
break;
case 4:
size_t size;
size = myls.getlenth();
cout<<"迴圈鍊錶長度為:"
case 5:
int head;
head = myls.gethead();
cout<<"該鍊錶的第乙個為:"
case 6:
int last;
last = myls.getlast();
cout<<"該鍊錶的最後乙個值為:"
case 7:
exit(1);
break;
case 9:
myls.makeempty();
break;
case 10:
myls.pop_back();
break;
case 11:
myls.pop_front();
break;
case 12:
int val_insert;
cout<<"請輸入您要插入的值:>";
cin>>val_insert;
myls.insert_val(val_insert);
break;
case 13:
int val_del;
cout<<"請輸入您要刪除的值:>";
cin>>val_del;
myls.del_val(val_del);
break;
case 14:
myls.sort();
break;
case 15:
myls.reverse();
break;}}
return 0;
}#endif
雙迴圈鍊錶
nyoj511移動小球 include include typedef struct node lnode 結點 lnode creat list lnode head,int num 建立不帶頭結點的雙迴圈鍊錶 current data i current rear current pre nul...
雙迴圈鍊錶
include include include include include include using namespace std typedef int elemtype typedef struct node linknode,linklist 鍊錶初始化 linklist initlink...
資料結構C 迴圈鍊錶
我曾經去一家遊戲公司面試時遇到乙個筆試題,大意就是說有一群人出去旅遊,在河中遇到了大風,然後用轉盤決定誰在留在船上,誰自己跳下去自行解決生存問題。大家圍成乙個圈,啟動轉盤,轉盤指向誰就從睡開始數數,當有人數到13時,誰就跳下去,然後從下乙個人開始從頭數,當再有人數到13時,繼續上乙個迴圈。當時題意沒...