初始狀態下,小球按照序號依次排列,編號為: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實現鍊錶
鍊錶是一種動態的資料結構,不同於陣列的是,鍊錶分配記憶體空間的靈活性,它不會像陣列一樣被分配一塊連續的記憶體。當你想在陣列的任意位置,插入乙個新值的時候,必須對陣列中的各個元素進行相應的位置移動才能達到目標,開銷顯然是很大的。然而鍊錶的靈活性在於它的每個元素節點分為兩部分,一部分是儲存元素本身,另一...