排序方法

Posted lemongirl

tags:

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

一.冒泡法

  1.基本思路:每次将相邻两个数比较,将小的调到前面,最大的数沉底,即成为最后一个,而小的数上升。如果有n个数,要进行n-1趟比较,在第一趟比较中要进行n-1次两两比较,在第j趟比较中要进行n-j次两两比较。

  2.基本结构

for (j = 0; j < n - 1; j++)
{
    for (i = 0; i < n - 1 - j; i++)
    {
        if(a[i] > a[i + 1])
        {
            temp = a[i];
            a[i] = a[i + 1];
            a[i + 1] = temp;
        }
    }
}

二.选择法

  1.基本思路:每次从左至右扫描序列,找出最小值。

  2.基本结构:

//从小到大排序    
for(i=0;i<n;i++)
{
    for(j=i+1;j<n;j++) 
    {
        if(a[i]>a[j])
        {
            temp=a[i];
            a[i]=a[j];
            a[j]=temp;
        }
    }
}

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

java基础3-重载+命令行传参+递归+数组+排序

算法排序之堆排序

以下代码片段的时间复杂度是多少?

VSCode自定义代码片段—— 数组的响应式方法

VSCode自定义代码片段10—— 数组的响应式方法

markdown 数组排序片段