广州建设银行保安招聘网站,资深的网站推广,八戒网站做推广,湖北网站建设目录 题目描述#xff1a;
示例1
思路#xff1a;
实现代码#xff1a; 【华为OD】B\C卷真题#xff1a;100%通过#xff1a;整型数组按个位值排序 C/C实现 题目描述#xff1a;
给定一个非空数组#xff08;列表#xff09;#xff0c;其元素数据类型为整型…目录 题目描述
示例1
思路
实现代码 【华为OD】B\C卷真题100%通过整型数组按个位值排序 C/C实现 题目描述
给定一个非空数组列表其元素数据类型为整型请按照数组元素十进制最低位从小到大进行排序十进制最低位相同的元素相对位置保持不变。
当数组元素为负值时十进制最低位等同于去除符号位后对应十进制值最低位。
输入描述
给定一个非空数组其元素数据类型为32位有符号整数数组长度[1, 1000]
输出描述
输出排序后的数组
示例1
输入输出示例仅供调试后台判题数据一般不包含示例
输入 1,2,5,-21,22,11,55,-101,42,8,7,32 输出 1,-21,11,-101,2,22,42,32,5,55,7,8 思路 相等值要保持相对位置不变那就得考虑使用稳定排序使用冒泡排序即可 实现代码
#include iostream
#include string
#include algorithm
#include sstream
#include regex
#include vectorusing namespace std;vectorint readData() {string arrStr;cin arrStr;istringstream ss(regex_replace(arrStr, regex(,), ));int v;vectorint datas;while (ss v) {datas.push_back(v);}return datas;
}int main() {vectorint datas readData();stable_sort(datas.begin(), datas.end(), [](int x, int y) {return abs(x) % 10 abs(y) % 10;});for (int i 0; i datas.size() - 1; i) {cout datas[i] ,;}cout datas.back() endl;return 0;
}