將某一陣列排序,再進行操作後,如何按照原順序輸出
先看一例題,該題的思路就是排序排序再排序!
該題的思路引入
以該題為例,首先就是要排序,找到相鄰距離,方向相對的螞蟻。
這裡需要用結構體儲存位置、方向、編號和永久位置(編號具有大作用,後面會講)
struct anta[n];
按照位置進行排序
bool cmp1(ant a,ant b)
模擬t時間後,還是排序,按照位置進行排序排序後的螞蟻的相對位置不會變
原來是第一位的螞蟻,還是第一位
t時間後,如果兩個螞蟻正好相撞,根據題意,這是他們的朝向為0;
記得判斷
for(int i=1;i填充記錄從小到大螞蟻的位置及方向位置從小到大,又因為相對位置不變,所以只需要按照id排序後,輸出該螞蟻的相對位置對應的資料for (int i=1;i<=n;i++)
按照輸入順序輸出,也就是按照id排序
bool cmp2(ant a,ant b)
a[n];
bool cmp1(ant a,ant b)
sort(a+1,a+n+1,cmp1);
for(int i=1;i<=n;i++)
sort(a+1,a+n+1,cmp1);
for(int i=1;i結束~~~
若有收穫,就點個贊吧~~~
對單詞進行排序後再輸出
本關任務 有乙個字串陣列包含9個字串,每個字串都是乙個單詞,且每個串的長度均不超過7,要求對單詞進行排序後再輸出。具體要求如下 使用二維字元陣列存放這9個字串。2.為二維字元陣列輸入資料。3.輸出處理前和處理後的字串陣列並進行比較。輸入 9個字串,長度小於7。輸出 列印輸出處理前的9個字串。列印輸出...
堆排序(向下調整建堆後再排序)
includeusing namespace std void adjustdown int int int void buildmaxheap int a,int len void adjustdown int a,int k,int len a k temp 找到了最終的位置並放入 void h...
電腦硬碟檔案誤操作後怎麼恢復
上大學的時候,選了個看似有前途的計算機專業,但是畢業的時候才發現,自己真沒那個程式設計的天分,永遠在模仿,一到自己編的時候,腦子就轉不過來了。所以,大學畢業之後跟幾個志同道合的朋友開了維修中心,他負責硬體維修,我負責軟體維護。所幸現在電腦使用量大,我們的生意也還算紅火。抽著一點閒空,跟大家說乙個小竅...