• 插入排序


    插入排序:
    数组或容器中vec[0....n]中,包含了n个待排序的数。输入的各个数字是原地排序的,意即这些数字就是在数组或容器vec在中进行重新排序的,
    在任何饿时候,至多只有其中的常数个数字是存储在数组或容器之外的。

    #include<iostream>
    #include<vector>
    using namespace std;
    
    int main()
    {
        vector<int> ivec;
        int ival;
        cout << "Enter some numbers(Ctr+Z to end):" << endl;
        while(cin >> ival)        //输入待排数据
            ivec.push_back(ival);
        for(vector<int>::size_type ix = 1; ix != ivec.size(); ++ix)        //从第二个元素开始排序
        {
            int key = ivec[ix];        //待排序的数(也成为关键字)
            int jx = ix - 1; 
            while(jx >= 0 && ivec[jx] > key)        //把关键字插入到前面拍好的容器中,ivec[ix] 插入到ivec[0.....(ix-1)]中。
            {
                ivec[jx+1] = ivec[jx];
                --jx;
            }
            ivec[jx+1] = key;
        }
        for(ix = 0; ix != ivec.size(); ++ix)        //输出排好序的容器元素
            cout << ivec[ix] << "  ";
        cout << endl;
        return 0;
    }
    
    /*实例
    
      7 3 8 6 5 9 8 2 4 1
      
    */
     
  • 相关阅读:
    tomcat启动报错host-manager does not exist
    jq对象,js对象,dom对象的转化
    Axure
    css盒子垂直居中
    数组去重个人总结的六种方式
    原生Ajax
    tp5总结(四)
    tp5总结(二)
    tp5总结(三)
    tp5总结(一)
  • 原文地址:https://www.cnblogs.com/sanghai/p/2765339.html
Copyright © 2020-2023  润新知