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

简单分析选择排序,冒泡排序

时间:2016-03-01 20:51:59      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

1,选择排序的原理
 1.1 选择排序就是会依次利用每一位索引上的值,与它后面的所有值进行比较,而且在每经过一轮比较,最值就会出现在最前面



  2,冒泡排序的原理
 2.1 冒泡排序的原理就是两个相邻的元素进行比较,每比较一轮,最值就会出现在最后面

 

 

#include <stdio.h>
void getLow(int count[],int length);
void countNumber(int count1[],int length);
void getLarge(int count[],int length);
void getName(int count[],int v1,int v2);
int main(int argc, const char * argv[]) {
    //已知一个无序的数组,里面有5个数组 要求对数组进行排序
    int number[5] = {12 ,3, 45 ,54, 456};
    int length = sizeof(number) / sizeof(number[0]) ;
    countNumber(number, length);
    printf("\n");
    getLow(number,length);
    countNumber(number, length);
    getLarge(number,length);//选择排序函数调用
    printf("\n");
    countNumber(number, length);
    printf("\n");
}
//函数遍历的代码
void countNumber(int count1[],int length){
    for (int i = 0; i < length; i ++) {
        printf("number[%i] = %i\t",i,count1[i]);
    }
   
}
void getLow(int count[],int length){
    for (int i = 0; i < length; i ++) {
        for (int j = i ; j <= length -1 ; j++){
            if (count[i] > count[j]) {
                getName(count, i, j);
            }
        }
    }
}

//选择排序的代码
//冒泡排序的代码
void getLarge(int count[],int length){
    for (int i = 0; i< length ; i++) {
        for (int j =0 ; j < length - i -1 ; j ++) {
            if (count[j] < count[j+1]) {
            getName(count, j, j+1);
            }
        }
    }
}
//两个变量交换的代码
void getName(int count[],int v1,int v2){
           
    int tmp = count[v1];
    count[v1]=count[v2];
    count[v2]=tmp ;
    
}

简单分析选择排序,冒泡排序

标签:

原文地址:http://www.cnblogs.com/xiaoyun-/p/5232230.html

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