码迷,mamicode.com
首页 > 编程语言 > 详细

算法-选择排序

时间:2019-06-07 14:20:59      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:define   cti   img   算法   print   oid   ring   warnings   select   

本文转自陈佳乐

 
 

2、选择排序(Selection Sort)

选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

算法的稳定性: 不稳定 (比如序列【5, 5*, 3】第一趟就将第一个[5]与[3]交换,导致第一个5挪动到第二个5*后面)
  时间复杂度: O(n^2);
  空间复杂度: O(1)-------没有借助辅助空间;

技术图片
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<malloc.h>
#include <string.h>

int SelectSort(int *p, int n)
{
    int i, j,temp,mini;
    for (i = 0; i < n - 1; i++)
    {
        mini = i;
        for (j = i + 1; j < n; j++)
        {
            if (p[mini] > p[j])
            {
                mini = j;

            }
        }
        temp = p[mini];
        p[mini] = p[i];
        p[i] = temp;
    }
}




int dayin(int *q,int len)
{
    int i;
    for (i = 0; i < len; i++)
    {
        printf("%d ", q[i]);
    }


}

void main()
{
    int a[] = { 5,2,4,50,100,3,6,7,8,9 };
    int len = sizeof(a) / sizeof(a[0]);
    SelectSort(a, len);
    dayin(a, len);
   char b[] = {"sdsdsdsd"};
    printf("\n%d", strlen(b));
        

}
技术图片

 

算法-选择排序

标签:define   cti   img   算法   print   oid   ring   warnings   select   

原文地址:https://www.cnblogs.com/strugglerisnd/p/10988076.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!