美文网首页
基本排序算法

基本排序算法

作者: 简子逍 | 来源:发表于2019-07-11 00:08 被阅读0次

选择排序

void selectSort(int* A, int n){   //从小到大排序
    for(int i=0;i<n-1;i++)
        for(int j=i+1;j<n;j++){
            if(A[i] > A[j]){
                int temp = A[i];
                A[i] = A[j];
                A[j] = temp;
            }
        }   
}

插入排序

void insertSort(int* A, int n){  //从小到大排序
    for(int i=1;i<n;i++)
        for(int j=i;j>0;j--){
            if(A[j] < A[j-1]){
                int temp = A[j];
                A[j] = A[j-1];
                A[j-1] = temp;
            }
        }
}

冒泡排序

void bubbleSort(int* A, int n){  //从小到大排序
    for(int i=0;i<n-1;i++)
        for(int j=0;j<n-1-i;j++){
            if(A[j] > A[j+1]){
                int temp = A[j];
                A[j] = A[j+1];
                A[j+1] = temp;
            }
        }
}

<algorithm> 中 sort 函数使用

#include <iostream>
#include <algorithm>
#include <ctime> 
using namespace std;

const int num = 5;
struct Data{
    int id;
    int seed;
}datas[num];

bool cmp(Data a, Data b){
    if(a.seed != b.seed) return a.seed > b.seed;
    else return a.id < b.id;
}

void display(Data* datas){
    for(int i=0;i<num;i++)
        cout<<"data"<<datas[i].id<<": "<<datas[i].seed<<endl;
        
    cout<<endl;
}


int main(int argc, char** argv) {
    
    srand((unsigned)time(0));
    
    for(int i=0;i<num;i++){
        datas[i].id = i+1;
        datas[i].seed = rand()%10;
    }
    
    display(datas);
    sort(datas, datas+num, cmp);
    display(datas);
    
    return 0;  
}
// 原始值输出
data1: 5
data2: 7
data3: 2
data4: 5
data5: 6

// 排序后输出
data2: 7
data5: 6
data1: 5
data4: 5
data3: 2

相关文章

  • 排序算法

    排序算法 排序是最基本的算法之一,常见的排序算法有插入排序、希尔排序、选择排序、冒泡排序、堆排序、归并排序及快速排...

  • Object-C实现常见十大算法(冒泡、选择、归并、双路、三路.

    我们经常会在时项目使用各种算法,比如排序.排序算法是最基本的算法之一. 排序算法可以分为内部排序和外部排序,内部排...

  • 2022-03-01

    1.排序算法: 到底什么是排序?-它是排列列表中项目顺序的算法。 重要的排序算法—— 冒泡排序:冒泡排序是最基本的...

  • 10分钟看懂10大经典算法(Swift代码实现)

    排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进...

  • 排序算法

    排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序。 内部排序是数据记录在内存中...

  • Python实现十大经典排序算法

    排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进...

  • 【算法-排序算法-基本排序算法】

    在快速排序算法总结的时候,介绍过基本排序算法包括选择排序、冒泡排序和插入排序。本章把他们三个放在一起总结一下 冒泡...

  • Swift的十大经典排序算法总结

    Swift的十大经典排序算法总结 排序算法是《数据结构与算法》中最基本的算法之一。排序算法可以分为内部排序和外部排...

  • 冒泡排序算法

    冒泡排序(Bubble Sort)算法是所有排序算法中最简单、最基本的一种。冒泡排序算法的思路就是交换排序,通过相...

  • Java学习笔记——十大经典排序算法总结

    内容几乎完全来源于网络 排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序,内部...

网友评论

      本文标题:基本排序算法

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