选择排序

作者: Corbin___ | 来源:发表于2018-02-24 16:42 被阅读14次

    用图说话

    选择排序

    放码过来

    void SelectionSortClass::selectionSort(vector<int> testData)
    {
        
        vector<int> array = testData;
        // 第一个for循环,拿无序序列的值,当做最小值
        for (int i=0; i<array.size()-1; i++) {
            // 首先拿无序数组的第一个数的下标当作最小值,然后在一个for来遍历这个无序数组,比较出最小值
            // 记录最小值下标
            int min = i; 
            // 用这个最小值来遍历无序序列,找出比这个最小值还小的
            for (int j=i+1; j<array.size(); j++) {
                if (array[min] < array[j]) {
                    min = j;
                }
            }
            
            // 找到无序序列的最小值后,插入有序序列
            if (array[i] != array[min]) {
                
                swap(array[min], array[i]);
    
            }
        }
        
        cout << "还未开始选择排序的数据" << endl;
        for (int i=0; i<testData.size(); i++) {
            cout << testData[i] << endl;
        }
        cout << "选择排序后的数据" << endl;
        for (int i=0; i<array.size(); i++) {
            cout << array[i] << endl;
        }
    }
    

    code地址

    https://github.com/ChenZeBin/TheDataStructureByUsingCpp.git

    相关文章

      网友评论

        本文标题:选择排序

        本文链接:https://www.haomeiwen.com/subject/wewqxftx.html