鏈式儲存基礎及應用(約瑟夫問題)

2021-10-05 17:49:20 字數 3001 閱讀 7312

請編寫程式輸出單鏈表中對應於下標i到下標j之間的資料。

【輸入】

第一行整數n(1<=n)

第二行 n個整數

第三行 i的值 j的值(i和j為合法下標,j >= i)

【輸出】下標i到j之間的數值

例如:【輸入】

5

3 6 9 10 1

0 2

【輸出】

3 6 9

#include

#include

using

namespace std;

struct node

;node::

node()

node::

node

(int item,node*add_on)

intmain()

cur-

>next=

null

;int i,j;

cin>>i>>j;

node *p;

node *temp;

for(

int k=

0;k)else

}return0;

}

請編寫程式在單鏈表的值為x的元素之後均插入值為y的元素,並輸出所有的插入位置。

【輸入】

第一行整數n(1<=n)

第二行為單鏈表中的n個整數

第三行 x(x在單鏈表中存在)y要插入的整數,x和y均為int型別,且不相等

【輸出】y插入在單鏈表中的下標位置

例如:【輸入】

5

3 6 9 10 1

6 7 //在所有的數字6後面插入數字7

【輸出】

2 //7插入後的位置

#include

#include

using

namespace std;

struct node

;node::

node()

node::

node

(int item,node *add_on)

intmain()

cur-

>next=

null

;int x,y;

cin>>x>>y;

int place=0;

while

(head!=

null

)else

}return0;

}

請編寫程式刪除單鏈表中所有值為x的元素。並輸出刪除x後的鍊錶資訊。

【輸入】

第一行整數n(1<=n)

第二行為單鏈表中的n個整數

第三行 x,x為int型別

【輸出】刪除x後的單鏈表資訊

例如:【輸入】

6

3 6 9 10 6 1

6

【輸出】

3 9 10 1

#include

#include

using

namespace std;

struct node

;node::

node()

node::

node

(int item,node*add_on)

intmain()

cur-

>next=

null

;int out;

cin>>out;

while

(head!=

null

) head=head-

>next;

}return0;

}

n 個人圍成乙個圓圈,首先第1個人從1開始乙個人乙個人順時針報數, 報到第m個人,令其出列。然後再從下乙個人開始,從1順時針報數,報到第m個人,再令其出列,…,如此下去, 直到圓圈中只剩乙個人為止。此人即為優勝者。請用環形鍊錶實現約瑟夫問題。

【輸入】n(2<=n<=60) m(1<=m)

【輸出】最後的勝利者編號(編號範圍是1至n)

例如:【輸入】

8 3

【輸出】

7

#include

using

namespace std;

struct node

;node::

node()

node::

node

(int item,node*add_on)

intmain()

int first=1;

node *head=

newnode

(first)

; node *cur=head;

for(

int item=

2;item<=n;item++

) cur-

>next=head;

int i=

0,j=0;

//i計數,j判斷是否刪去

node *p=head;

while

(p->next!=p)

//只剩乙個元素時退出

p=p-

>next;

} cout<>entry;

return0;

}

鏈式儲存棧及基本應用

實驗二 棧 佇列 實驗學時 學時 背景知識 入棧 出棧,入隊 出隊。目的要求 1 掌握棧 佇列的思想及其儲存實現。2 掌握棧 佇列的常見演算法的程式實現。實驗內容 1 採用鏈式儲存實現棧的初始化 入棧 出棧操作。2 採用順序儲存實現棧的初始化 入棧 出棧操作。3 採用鏈式儲存實現佇列的初始化 入隊 ...

佇列基礎及其約瑟夫問題應用

佇列是一種特殊的線性表,是運算受到限制的一種線性表,只允許在表的一端進行插入,而在另一端進行刪除元素的線性表。隊尾 rear 是允許插入的一端。隊頭 front 是允許刪除的一端。空佇列是不含元素的空表。根據這樣的操作。佇列特點是先進先出 基礎操作 示例 include include includ...

棧的順序儲存實現及鏈式儲存實現

include include define size 100 typedef int elemtype typedef struct stackstack void init stack s 初始化 intpush stack s,elemtype e 入棧 s s s top e 從s 1 開始...