排序引论

2021-06-17 13:04

阅读:362

标签:main   cto   iostream   g++   iterator   range   selection   insert   c代码   

排序引论

选择排序

“一种最简单的排序算法”——《算法(第4版)》

C++代码实现

#include 
#include 
#include 

using namespace std;

//选择排序
template
void selectionSort(vector &v) {
    vector::iterator beg = v.begin();
    for (vector::iterator it = v.begin(); it != v.end(); it++) {
        vector::iterator e = min_element(it, v.end());
        swap(*beg, *e);
        beg++;
    }
}

int main() {
    vector v = { 10, 8, 6, 4, 2, 0, 1, 3, 5, 7, 9 };
    selectionSort(v);
    for (auto e : v) {
        cout 

Python代码实现

# 选择排序
def selectionSort(l):
    for i in range(len(l)):
        scope = l[i:]
        pos = scope.index(min(scope))
        l[i],l[pos+i] = l[pos+i],l[i]

if __name__ == ‘__main__‘:
    l = [10,8,6,4,2,0,1,3,5,7,9]
    selectionSort(l)
    print(l)

插入排序

“将每一张扑克牌插入到前面已经有序的牌中的适当位置”——《算法(第4版)》

Python 代码实现

# 插入排序
def insertSort(l):
    for i in range(1, len(l)):
        sorting = l[:i]
        for j in range(len(l[:i])):
            if l[i] 

排序引论

标签:main   cto   iostream   g++   iterator   range   selection   insert   c代码   

原文地址:https://www.cnblogs.com/fengyubo/p/9721269.html

上一篇:Spring学习

下一篇:Python基础(上)


评论


亲,登录后才可以留言!