排序操作後再恢復

2022-10-08 21:48:27 字數 1158 閱讀 5797

將某一陣列排序,再進行操作後,如何按照原順序輸出

先看一例題,該題的思路就是排序排序再排序!

該題的思路引入

以該題為例,首先就是要排序,找到相鄰距離,方向相對的螞蟻。

這裡需要用結構體儲存位置、方向、編號和永久位置(編號具有大作用,後面會講)

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...

電腦硬碟檔案誤操作後怎麼恢復

上大學的時候,選了個看似有前途的計算機專業,但是畢業的時候才發現,自己真沒那個程式設計的天分,永遠在模仿,一到自己編的時候,腦子就轉不過來了。所以,大學畢業之後跟幾個志同道合的朋友開了維修中心,他負責硬體維修,我負責軟體維護。所幸現在電腦使用量大,我們的生意也還算紅火。抽著一點閒空,跟大家說乙個小竅...