使用鍊錶實現小球移動

2021-07-24 11:05:21 字數 584 閱讀 6516

初始狀態下,小球按照序號依次排列,編號為:1,2,3······n;

可以執行兩種指令。其中,a x y表示吧x移到y左邊,b x y表示把x移到y右邊(指令合法)

程式沒有測試大量資料

詳細描述在劉汝佳的演算法書中的第六章

樣例輸入:

6    2

a    1   3

b   3    5

樣例輸出:

2  1  4  5  3  6

**

#includetypedef struct sqlistsq;

using namespace std;

sq* init(sq* head,int n)

return head;

}void llink(sq* head,int b,int c)

return;

}void rlink(sq* head,int b,int c)

else

return; }}

int main()

sq* p=head->next;

while(n)

cout<

nyoj 511 移動小球(鍊錶的簡單使用)

描述 給你n個小球,從左到右編號依次為1,2,3,4,5,6.n,並規定小球1的左邊的球號為n,小球n的右邊的球號為1.現在有以下3種操作 a x y表示把編號為x小球移動到編號為y的小球的左邊,b x y表示把編號為x小球移動到編號為y的小球的右邊,q 1 m為詢問編號為m的小球右邊的球號,q 0...

使用鍊錶實現佇列

ifndef queue h define queue h include using namespace std class queue queuenode front queuenode tail public queue queue bool enqueue int data bool deq...

使用js實現鍊錶

鍊錶是一種動態的資料結構,不同於陣列的是,鍊錶分配記憶體空間的靈活性,它不會像陣列一樣被分配一塊連續的記憶體。當你想在陣列的任意位置,插入乙個新值的時候,必須對陣列中的各個元素進行相應的位置移動才能達到目標,開銷顯然是很大的。然而鍊錶的靈活性在於它的每個元素節點分為兩部分,一部分是儲存元素本身,另一...