首页 > 编程语言 > 详细

直接插入选择排序

时间:2015-04-04 10:33:19      阅读:239      评论:0      收藏:0      [点我收藏+]
#include<iostream>
using namespace std;
void swap(int *a, int *b)
{
    int *c = a;
    a = b;
    b = c;
}
void SelectSort(int *A, int len)
{
    for (int i = 0; i < len; i++)
    {
        int min = i;
        for (int j = i + 1; j < len; j++)
        {
            if (A[j] < A[min])
                min = j;
        }
        if (min != i)
            swap(A[i],A[min]);
    }
}
void InsertSort(int *A, int len)
{
    for (int i = 1; i < len; i++)
    {
        
        if (A[i] < A[i - 1])
        {
            int tmp = A[i];
            int j = 0;
            for ( j = i - 1; j >= 0 && A[j]>tmp; j--)
                A[j + 1] = A[j];
            A[j + 1] = tmp;
        }
    }
}
int main()
{
    int A[] = {1,5,3,4,0,7};
    int N = sizeof A / sizeof A[0];
    InsertSort(A, N);
    for (int i = 0; i < N; i++)
    {
        cout << A[i] << "  ";
    }
    cout << "\n";
    return 0;
}

 

直接插入选择排序

原文:http://www.cnblogs.com/liuhg/p/InsertSort.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!