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