輸入處理(5為空格) 插入排序

2021-09-25 02:31:32 字數 845 閱讀 4706

輸入一行數字,如果我們把這行數字中的『5』都看成空格,那麼就得到一行用空格分割的若干非負整數(可能有些整數以『0』開頭,這些頭部的『0』應該被忽略掉,除非這個整數就是由若干個『0』組成的,這時這個整數就是0)。

你的任務是:對這些分割得到的整數,依從小到大的順序排序輸出。

input

輸入包含多組測試用例,每組輸入資料只有一行數字(數字之間沒有空格),這行數字的長度不大於1000。

輸入資料保證:分割得到的非負整數不會大於100000000;輸入資料不可能全由『5』組成。

output

對於每個測試用例,輸出分割得到的整數排序的結果,相鄰的兩個整數之間用乙個空格分開,每組輸出佔一行。

sample input

0051231232050775

sample output

0 77 12312320

//c hdu1106 輸入處理+排序

/*題目要求應該挺清楚的,分割數字,排序,輸出

*/#include

using namespace std;

char s[1005];

void scsort(int a,int n)}}

}int main()

,n=0;

int num=0,k=0; //num用來計算數字,k記錄數字的位數,同時標記上個位置是數字還是空格』5』

for(int i=0;s[i]!=』\0』;i++)

num=num*10+(s[i]-『0』);

k++;

}if(k) a[n++]=num;

scsort(a,n);

for(int i=0;ireturn 0;

}

演算法 5 插入排序

從第乙個元素開始,該元素可以認為已經被排序 取出下乙個元素,在已經排序的元素序列中從後向前掃瞄 如果該元素 已排序 大於新元素,將該元素移到下一位置 重複步驟3,直到找到已排序的元素小於或者等於新元素的位置 將新元素插入到該位置後 重複步驟2 5 1 l 89,67,56,45,34,23,1 2d...

希爾排序 插入排序的預處理

上文我們提到插入排序對有序序列效能很高,在最後一節優化的部分,也提到了,如果能對序列先做些處理,使其區域性有序,從而可以很大程度上提高插入排序的效能.希爾排序就是基於這一思路擴充套件而來。我們還發現,插入排序還有乙個問題就是交換次數太多,他是從右至左逐個比較,逐個交換,對於倒序序列,效能最差。希爾排...

小小c 演算法題 5 插入排序

插入排序是最簡單 最容易理解 的一種排序演算法。其基本操作是將乙個數插入到已經有序的陣列中,那麼我們要做的是確定插入到什麼位置,所有在這個位置之後的數後移乙個位置,從而給這個要插入的數騰出位置。所以關鍵點是找插入位置。最簡單的辦法,從最後乙個元素開始找,邊找邊後移,一直到找到合適的插入位置。首先,陣...