C++ 输入4个字母,按照字典顺序输出它们。

输入4个字母,按照字典顺序输出它们。

不用数组!
就用最简单的方法!比如擂台法
我的思路是这样的

让第1个字母,分别和2、3、4个相比较,若第1个较大,就交换位置。最小的放在了第1个位置。
让第2个字母,分别和3、4个相比较,若第2个较大,就交换位置。第2个字母也放在了正确的位置。
让第3个和第4个相比较,若第3个较大,就交换位置,第3个字母也放在了正确的位置。
第4个字母,自然也放在了正确的位置。

这样可以实现吧!

这个字符转化为ascii,然后进行比较,就和普通的数字排序是一样的。
代码实现:

#include <iostream>
#include <string>
#include <vector>
using namespace std;


int main()
{
    vector<char> res;
    cout<<"input 4 char:";
    char s[4];
    cin>>s[0]>>s[1]>>s[2]>>s[3];
    for(int i=0;i<4;++i)
    {
        for(int j=i+1;j<4;++j)
        {
            if(s[i]>s[j])
            {
                swap(s[i],s[j]);
            }
        }
    }
    cout<<"sort:"<<endl;
    for(int i=0;i<4;++i)
    {
        cout<<" "<<s[i];
    }
    cout<<endl;

    return 0;
}

img