未优化的冒泡排序算法.c

来源:互联网 发布:半自动咖啡机推荐 知乎 编辑:程序博客网 时间:2024/05/17 22:30
#include#include#define MAX 12int main(void){int i, j;int array[MAX];printf("\n*************************************************************\n");printf("未排序的数组:");for (i = 0; i < MAX; i++)//给数组赋初值 并 打印出来{array[i] = (rand() % 10);//rand()函数包含在stdlib.h函数库中,功能是返回一个随机值printf("%4d", array[i]);}printf("\n*************************************************************\n");printf("\n\n\n*************************************************************\n");for (i = MAX - 1; i > 0; i--){for (j = 0; j < i; j++){if (array[j] > array[j + 1])//如果 array[j] 大于 array[j + 1]交换值,大的数字'冒'到了数组的后面去{//方法一:int tmp;tmp = array[j];array[j] = array[j + 1];array[j + 1] = tmp;/*具体参考详解我的博客交换两个整形数的其他两种方法:方法二:array[j] ^= array[j] ^= array[j + 1] ^=array[j + 1];原理:一个数异或同一个数两次结果仍然是自身方法三:array[j] = array[j] + array[j + 1];array[j + 1] = array[j] - array[j + 1];array[j] = array[j] - array[j + 1];*/}}}printf("排序后的数组:");for (i = 0; i < MAX; i++){printf("%4d",array[i]);}printf("\n*************************************************************\n");return 0;}
原创粉丝点击