第三章:查詢與排序(下)----------- 3.28 特殊排序(利用sort函式)
特殊排序:
輸入一個正整數陣列,把陣列中的所有元素拼接起來排成一個數,列印能拼接出的所有數字中最小的一個。
例如:輸入陣列{3,32,321},則這3個數字能拼接成的最小數字為:321323
利用sort()函式。
程式碼:
#include<iostream>
#include<algorithm>
//#include<cstring>
using namespace std;
string toString(int a)
{
string ans;
while(a)
{
ans+=('0'+a%10);
a/=10;
}
reverse(ans.begin(),ans.end());
return ans;
}
bool compare(int a,int b)
{
string ab=toString(a)+toString(b);
string ba=toString(b)+toString(a);
return ab<ba;
//return ab.compare(ba); //仍有疑惑
}
int main()
{
int arr[]={3,32,321,31,1,2};
int len=6;
sort(arr,arr+len,compare);
for(int i=0;i<len;i++)
{
cout<<arr[i];
}
return 0;
}
結果:
參考:https://blog.csdn.net/qq_31217423/article/details/76375336
相關文章
- 第三章:查詢與排序(下)----------- 3.20桶排序排序
- 第三章:查詢與排序(下)----------- 3.21基數排序排序
- 第三章:查詢與排序(下)----------- 3.19 計數排序排序
- 第三章:查詢與排序(下)----------- 3.16堆的概念及堆排序思路排序
- 排序(對於 sort 函式的使用)排序函式
- 第三章:查詢與排序(下)----------- 3.14 逆序對個數排序
- 查詢與排序05,氣泡排序排序
- 查詢與排序04,插入排序排序
- 查詢與排序03,選擇排序排序
- 查詢與排序02,折半查詢排序
- 第三章:查詢與排序(下)----------- 3.15基礎學習_樹、二叉樹、堆排序排序二叉樹
- 第三章:查詢與排序(下)----------- 3.27 用計數排序解決員工年齡問題排序
- 第三章 :查詢與排序-------3.2你需要掌握的快速排序演算法排序演算法
- 第三章:查詢與排序(下)----------- 3.22 總結:10種排序演算法的對比分析排序演算法
- 第三章:查詢與排序(下)----------- 3.23 相關題解:排序陣列中找和的因子排序陣列
- 第二章 :查詢與排序---------遞迴、查詢與排序補充排序遞迴
- C++ sort排序函式的用法總結C++排序函式
- 第二章 :查詢與排序-------希爾排序排序
- Lucene 排序 Sort與SortField排序
- 第三章 :查詢與排序-------3.7分治模式的完美詮釋_歸併排序排序模式
- C++筆記— 排序函式sort() 和vector容器C++筆記排序函式
- 排序sort排序
- sort排序排序
- 第三章:查詢與排序(下)----------- 3.12 實踐_最小可用id是多少排序
- 排序(並查集&&雜湊函式)排序並查集函式
- 排序和查詢排序
- 第三章:查詢與排序(下)----------- 3.11 趣味擴充_尋找發帖水王排序
- 第三章:查詢與排序(下)----------- 3.29 題解:判斷陣列的包含問題排序陣列
- 《shell下sort排序命令的使用》排序
- 【Oracle】排序與sort_area_sizeOracle排序
- nls_sort與漢字排序排序
- 第三章 :查詢與排序(下)-------3.1分治法介紹及關鍵點解析排序
- Arr::sort()輔助函式對多維陣列的排序函式陣列排序
- SQL Cookbook—查詢、排序SQL排序
- 特殊的排序排序
- Collections sort()排序方法排序
- 堆排序 Heap Sort排序
- Elasticsearch script sort 排序Elasticsearch排序