q:略
a:為了簡化過程,類中只有3個函式即可,構造,增加,約瑟夫環解決函式
ps:做這道題是為了鞏固鍊錶知識,在這過程中,this指標很隱蔽,,
code;
#include
using namespace std;
template
struct linknode
linknode(t item,linknode*ptr=null)
};template
class clist
// ~clist()
// void makeempty();
bool insert(int i,t x);
void print();
bool delete(int i,t& x);
void josephs(clista,int n,int m);
};template
bool clist::insert(int i,t x)
else
linknode*newnode=new linknode(x);
newnode->link=current->link;
current->link=newnode;
return true;}}
template
void clist::print()
}template
bool clist::delete(int i,t& x)
first=first->link;
current->link=first;
}else
p->link=current->link;
delete current;
}}
template
void clist::josephs(clistb,int n,int m)
cout<<"出列的人是"p->link=current->link;
delete current;
current=p->link;}}
int main()
2.陣列實現
code:
#include
using namespace std;
#define max 10
int main()
void josephs(int a,int n,int m)
a[k-1]=temp;
b--;}}
C 不帶頭結點的單迴圈鍊錶解決約瑟夫環問題
重新把殷人昆的c 資料結構 2版 重新走一遍,發現以前的基礎太差,這個簡單的基礎的東西都搞了好久才搞出來啊 言歸正題 首先建立要力乙個circlist.h標頭檔案 如下 不帶頭結點的單迴圈鍊錶 ifndef circlist h define circlist h ifndef ch h defin...
不帶頭結點的單迴圈鍊錶
建立標頭檔案nlist.h pragma once 不帶頭節點的鍊錶,主要應用在迴圈鍊錶中,其缺點,操作複雜 會出現二級指標 優點 靈活 頭指標指向哪個節點哪個節點就是第乙個節點 不帶頭節點的單鏈迴圈鍊錶,尾節點的next指向第乙個節點 typedef struct nnode nnode,pnli...
約瑟夫環問題(單迴圈鍊錶實現)
大致思路 1.利用尾插法建立乙個迴圈鍊錶 建表成功後刪除頭結點 2.核心演算法 生成乙個work指標,每走到約定的step 1的位置時停止,利用pdel指標標記後繼結點,迴圈釋放pdel,直到work work next停止 include include include using namespa...