目录
我的代码
主打的就是一个冒泡排序
#include<iostream>
using namespace std;
int main(){
long long int a[3];
cin>>a[0];
for(int i=1;i<3;i++){
cin>>a[i];
}
long long int temp;
for(int i=0;i<3;i++){
for(int j=i+1;j<3;j++){
if(a[i]>a[j]){
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(int i=0;i<3;i++){
if(i!=2)
cout<<a[i]<<"->";
else
cout<<a[i];
}
return 0;
}
其他方式
主打的就是一个干净、快、方便。
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a, b, c;
cin >> a >> b >> c;
// 排序
int arr[3] = {a, b, c};
sort(arr, arr + 3);
// 输出结果
cout << arr[0] << "->" << arr[1] << "->" << arr[2] << endl;
return 0;
}
讲解sort()
C++的sort()
函数可以用于对数组、向量(vector)等容器内的元素进行排序。
其基本语法如下:
sort(begin, end, comparator_function);
其中,begin
是容器中待排序数据的首个元素的指针或迭代器,end
则指向最后一个元素的后一个位置;comparator_function
为可选参数,用于自定义元素的比较规则,若不指定则默认使用升序排序。
例如,对一个整型数组进行排序,可以使用以下代码:
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int arr[] = { 3, 2, 5, 1, 4 };
int n = sizeof(arr) / sizeof(arr[0]);
sort(arr, arr + n);
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
输出结果为: 1 2 3 4 5
。
万能的if else
#include <iostream>
using namespace std;
int main() {
int a, b, c;
cin >> a >> b >> c;
if (a <= b) {
if (b <= c) {
// a <= b <= c
cout << a << "->" << b << "->" << c << endl;
} else {
// a <= b, c < b
if (a <= c) {
cout << a << "->" << c << "->" << b << endl;
} else {
cout << c << "->" << a << "->" << b << endl;
}
}
} else {
// b < a
if (a <= c) {
// b < a <= c
cout << b << "->" << a << "->" << c << endl;
} else {
// b < a, c < a
if (b <= c) {
cout << b << "->" << c << "->" << a << endl;
} else {
cout << c << "->" << b << "->" << a << endl;
}
}
}
return 0;
}
优点和缺点
注意,这种实现方法虽然冗长,但具有更好的控制能力,可以避免调用库函数,并且在处理比较大的数值时可能性能更优