排序算法

Posted zyqy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序算法相关的知识,希望对你有一定的参考价值。

//选择排序
#include<stdlib.h>
#include<stdio.h>
#include<string.h>

int main(void) {
    int a[] = { 10,7,1,9,4,6,7,3,2,0 };
    int n;
    int i = 0;
    int j = 0;
    int temp = 0;
    n = sizeof(a) / sizeof(a[0]);//元素个数
    
    printf("排序前
");
    for (i = 0; i < n; i++)
    {
        printf("%d ", a[i]);
    }
    printf("
");
    
    //选择法排序
    for (i = 0; i < n - 1; i++)
    {
        for (j = i+1; j < n; j++) 
        {
            if (a[i] > a[j])//升序
            {
                temp = a[i];
                a[i] = a[j];
                a[j] = temp;
            }
        }
    }
    printf("排序后
");
    for (i = 0; i < n; i++)
    {
        printf("%d ", a[i]);
    }
    printf("
");
    //如何看懂带算法的程序
    /*
    1、流程
    2、每个语句的功能
    3、试数
    4、调试
    5、模仿改
    6、不看代码写
    */
    system("pause");
    return 0;
}

 

以上是关于排序算法的主要内容,如果未能解决你的问题,请参考以下文章

算法排序之堆排序

快速排序-递归实现

从搜索文档中查找最小片段的算法?

在第6731次释放指针后双重免费或损坏

TimSort算法分析

以下代码片段的算法复杂度