日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

21行代码AC——HDU1106 排序

發(fā)布時間:2024/2/28 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 21行代码AC——HDU1106 排序 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Problem Description

輸入一行數(shù)字,如果我們把這行數(shù)字中的‘5’都看成空格,那么就得到一行用空格分割的若干非負(fù)整數(shù)(可能有些整數(shù)以‘0’開頭,這些頭部的‘0’應(yīng)該被忽略掉,除非這個整數(shù)就是由若干個‘0’組成的,這時這個整數(shù)就是0)。
你的任務(wù)是:對這些分割得到的整數(shù),依從小到大的順序排序輸出。

Input

輸入包含多組測試用例,每組輸入數(shù)據(jù)只有一行數(shù)字(數(shù)字之間沒有空格),這行數(shù)字的長度不大于1000。
輸入數(shù)據(jù)保證:分割得到的非負(fù)整數(shù)不會大于100000000;輸入數(shù)據(jù)不可能全由‘5’組成。

Output

對于每個測試用例,輸出分割得到的整數(shù)排序的結(jié)果,相鄰的兩個整數(shù)之間用一個空格分開,每組輸出占一行。


分析

本題采用的解法是:字符型<->整型轉(zhuǎn)化+字符串分割。
主要思路:
1、將輸入樣例用string字符串保存,若遇到‘5’,則將‘5’改為空格。
2、通過#include<sstream>中的stringstream,配合循環(huán),實現(xiàn)將字符串轉(zhuǎn)化為整型變量,存入vector數(shù)組。(vector為動態(tài)數(shù)組,不用事先定義較大空間,要多少就開多少。)
3、用#include<algorithm>中的sort(),對vector數(shù)組進(jìn)行排序。
4、逐個輸出即可。


傳送門

傳送門1——>algorithm頭文件常用函數(shù)匯總
傳送門2——>神奇的sstream頭文件(用法匯總)


代碼實現(xiàn)
#include<bits/stdc++.h> using namespace std; int main() {char a;string s;while(cin >> s) {int len = s.length();for(int i = 0; i < len ;i++) if(s[i] == '5') s[i] = ' ';//處理 stringstream ss; ss << s;int num; vector<int>v; int j =0;while(ss >> num) v.push_back(num);//排序后輸出 sort(v.begin(),v.end());int siz = v.size();for(int i = 0; i < siz; i++) cout << v[i] << ((i!=(siz-1))?" ":"");cout << endl; }return 0; }

總結(jié)

以上是生活随笔為你收集整理的21行代码AC——HDU1106 排序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。