您的位置:首页 > 职场人生

黑马程序员_ 选择排序和冒泡排序

2014-04-17 17:52 232 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/u013882572/article/details/23949839

一 选择排序

#include <stdio.h>
/*
选择排序的原理
每次拿一个值跟后面所有的值进行比较,每轮比较结束,最值出现在头角标上
*/
int main(int argc, const char * argv[])
{
int ages[5] = {12, 14, 10, 21, 5};

int length = sizeof(ages)/sizeof(ages[0]);

for (int j = i + 1; j < length; j++) {
printf("*");
if (ages[i] > ages[j]) {
int temp = ages[i];
ages[i] = ages[j];
ages[j] = temp;
}
}
printf("\n");
}
for (int i = 0; i < length; i++) {
printf("%d\n",ages[i]);
}

return 0;
}
二 冒泡排序
#include <stdio.h>
//  冒泡排序的原理
//    用相邻的两个元素进行比较,每当比较完一轮,最(大)值出现在尾角标
//    比较的时候都是一样的,如果前面一个元素>后面的元素,就交换
int main(int argc, const char * argv[])
{
int ages[5] = {12, 14, 10, 21, 5};

int length = sizeof(ages)/sizeof(ages[0]);
for (int i = 0; i < length - 1; i++) {
for (int j = 0; j < length - 1 - i; j++) {
if (ages[j] > ages[j + 1]) {
int temp = ages[j];
ages[j] = ages[j + 1];
ages[j + 1] = temp;
}
}
}
for (int i = 0; i < 5; i++) {
printf("%d\n",ages[i]);
}
return 0;
}



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: