数据结构 C语言实现选择排序

来源:互联网 发布:kcf跟踪算法原理 编辑:程序博客网 时间:2024/05/29 13:08

一、选择排序简介

选择排序是外层进行n-1趟排序,内层进行n-1趟排序,每一趟选出最大或最小的数据放在最前面。

二、代码实现

#include <stdio.h>/* 将两个数据交换 */void swap(int* Ina , int* Inb){    int temp = *Ina;    *Ina = *Inb;    *Inb = temp;}/** 函数功能:选择排序,把数据从小到大排序* 参数解释:InArray  输入的数组*         InLen    输入的数组的长度*/int selectSort(int* InArray,int InLen){    int i = 0,j = 0;    if(InArray == NULL)        return 1;    /* 外层循环 */    for(i = 0; i < InLen-1; i++)    {        /* 内层循环 */        for(j = i + 1; j < InLen; j++)        {            /* 时刻保证每次 */            if(InArray[i] > InArray[j])            {                swap(&InArray[i],&InArray[j]);            }        }    }    return 0;}int main(){    int a[] = {49,38,65,97,76,13,27};    int index = 0;    int len = sizeof(a)/sizeof(int);    /* 先遍历打印一下数组的元素 */    for(index = 0; index < len; index++)    {        printf("%d  ",a[index]);    }    printf("\n");    /* 调用选择排序函数 */    selectSort(a,len);    /* 再遍历打印一下数组的元素 */    for(index = 0; index < len; index++)    {        printf("%d  ",a[index]);    }    printf("\n");    return 0;}
0 0
原创粉丝点击