首页 > 算法与数据结构 > 三种排序算法演示
2018
05-29

三种排序算法演示

#include <stdio.h>
#include <stdlib.h>

void PopupSort(int *s, int length) 
{
    int i, j, swap;

    for(i = 0; i < length - 1; i++)
    {
        for(j = 0; j < 9 - i; j++)
        {
            if(s[j] > s[j + 1])
            {
                swap = s[j];
                s[j] = s[j + 1];
                s[j + 1] = swap;
            }
        }
    }
}

void SelectionSort(int *s, int length)
{
    int i, j, min, min_index;

    for(i = 0; i < length - 1; i++)
    {
        min = s[i];
        min_index = i;

        for(j = i + 1; j < length; j++)
        {
            if(min > s[j])
            {
                min = s[j];
                min_index = j;
            }
        }

        s[min_index] = s[i];
        s[i] = min;
    }
}

void InsertSort(int *s, int length)
{
    int i, j, k, insert, temp;

    for(i = 1; i < length; i++)
    {
        for(j = 0; j < i; j++)
        {
            if(s[j] > s[i])
            {
                insert = s[i];
                for(k = i; k >= j + 1; k--)
                {
                    s[k] = s[k - 1];
                }
                s[j] = insert;
            }
        }
    }
}


int main()
{
    int s1[] = {7, 9, 8, 6, 4, 5, 2, 3, 1};
    PopupSort(s1, sizeof(s1) / sizeof(s1[0]));

    int s2[] = {7, 9, 8, 6, 4, 5, 2, 3, 1};
    
    SelectionSort(s2, sizeof(s2) / sizeof(s2[0]));

    int s3[] = {7, 9, 8, 6, 4, 5, 2, 3, 1};
    InsertSort(s3, sizeof(s3) / sizeof(s3[0]));

    system("pause");
    return 0;
}

打赏 赞(0)
微信
支付宝
微信二维码图片

微信扫描二维码打赏

支付宝二维码图片

支付宝扫描二维码打赏

最后编辑:
作者:Yenyu
Yenyu
编程爱好者

留下一个回复

你的email不会被公开。