书上关于三整数排序的这一问题,完全是为了让初学者去思考分支情况的,并且也要去考虑三个数其中相等的情况。
其实最后一种思想正是后面要学习的排序算法中的选择排序的一种体现。
源码如下:
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c,t;
cin>>a>>b>>c;
if(a>b)
{
t=a;
a=b;
b=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
if(b>c)
{
t=b;
b=c;
c=t;
}
cout<<a<<" "<<b<<" "<<c<<endl;
}
这里的学习可能最多的收获就是对else if的使用,else if的设定主要是为了避免进入多个分支进行输出。
选择排序的思想在我这里总结起来感觉就这么几个字:
前定江山,一次定一个,n-1次全部搞定。