-
上面的程式不是寫在鍊表裡的。 它可以用鍊表來寫。
for(k=i;k>min;k--)當這個人被移除時,他們身後的人會依次向前移動。
p[k]=p[k-1];
反正還是用鍊表比較好,可讀性更強! 這最好通過鍊表來實現。
-
#include
#include
#include
using namespace std;
#define ok 1
#define error 0
#define maxsize 10
typedef int status;
typedef int elemtype;
typedef struct circularlistelemtype data;
struct circularlist *next;
circularlist,*linklist;
建立無頭節點的單週期鍊表。
if(n<1) return error;
l=(linklist)malloc(sizeof(circularlist));
l->data=1;
if(n==1)
int i;
linklist p,q;
for(i=2;i<=n;i++)
p=(linklist)malloc(sizeof(circularlist))
p->data=i;
if(i==2)
else p->next=l;
return ok;
刪除 l 的下乙個節點。
linklist p=l->next;
if(p==l) return error;
l->next=p->next;
free(p);
return ok; }
void Josephus(int n,int k,int m) n為總人數,k是第乙個開始號碼的人,m是出佇列的人喊出的數字。
linklist l;
init_list(l,n);
for(int i=1;inext;
int flag=1;
while(flag)
for(int i=1;inext;
flag=delete_list(l);
l=l->next;
cout<<"the end:"n>>k>>m)josephus(n,k,m);
return 0;}
-
這是乙個非常有趣的鍊表程式。
鍊表必須手動實現才能被記住。 這就是為什麼我不會向您傳送程式原始碼**。 給你乙個想法。 你可以試著自己做,然後發給我,我會幫你改。
首先,製作乙個包含 30 個節點的圓形列表。
每個節點都需要有幾條資料,有自己的編號ID,是否已經被扔進海浬,下乙個節點的指標。
然後你從第乙個節點開始,迴圈中每15個節點,你設定這個節點的“是否已經扔進海浬”來扔進去。
當然,當你騎自行車時,你只能騎自行車而不會被扔進海浬。
經過 15 個迴圈後,就沒事了。
然後把這個迴圈鍊表裡所有死節點的數目記錄下來,也就是非信徒的位置。
希望對你有所幫助。
一開始似乎要完成很多工作,但必須有乙個如此痛苦的過程,這樣你才能比別人做得更好。
如果你仍然只想找到乙個來源,那麼你可以忽略我為你輸入的內容。 如果你寫了乙個程式,把它發給我。
Heada 和 headb 都是具有前導節點的單鏈表。 在這個演算法中,我們從 heada 鍊表的第 i 個元素中刪除公共元素,然後在 headb 的第 j 個元素之前插入單鏈表 heada。 >>>More
維護成本非常高:
傳統的中心化資料庫只需要編寫一次,而區塊鏈需要寫入數千次; 傳統的中心化資料庫只需要對資料進行一次驗證,而區塊鏈需要對資料進行數千次測試; 傳統的中心化資料庫只需要傳輸一次資料即可儲存,而區塊鏈需要傳輸數千次資料。 >>>More
說實話,你真的很累,我真的可以想象那有多累,我周圍有一種情況,我總是說我的朋友也是! 最後,他放手了,因為太累了,他說如果兩個人之間沒有默契,就算還在戀愛,而且戀愛已經厭倦了,還不如放棄,也許會是最好的結果! 放棄也是一種美! >>>More