标签:
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