22 冒泡排序
Posted abel2020
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了22 冒泡排序相关的知识,希望对你有一定的参考价值。
//冒泡排序,输入一个数组,冒泡排序 #include <stdio.h> #include<time.h> #include<stdlib.h> # define MAXSIZE 10 //要排序数组的长度 #define random(x) (rand()%x) //宏定义随机数函数 //三个参数分别为原数组,数组大小,排序后的数组 maopao_sort(int* old,int maxsize, int* new); main() { srand((unsigned)time(NULL)); int old[MAXSIZE]; int new[MAXSIZE]; //生成随机数组 for (int i = 0; i < MAXSIZE; i++) old[i] = random(100)-50; //随机生成(-50,50)之间的数 maopao_sort(old,MAXSIZE,new); //输出原数组 printf("old : "); for (int i = 0; i < MAXSIZE; i++) printf("%d ", old[i]); printf(" "); //输出排序后的数组 printf("new : "); for (int i = 0; i < MAXSIZE; i++) printf("%d ", new[i]); } maopao_sort(int* old, int maxsize,int* ar) { int i, j; int temp; for (int i = 0; i < MAXSIZE; i++) ar[i] = old[i]; for(j = 0; j < MAXSIZE-1; j++) for (i = 0; i < MAXSIZE-1 - j; i++) //第一轮循环把最大的放在最后位置,第二轮把次大的放在倒数第二个位置 if (ar[i] > ar[i + 1]) { temp = ar[i]; ar[i] = ar[i + 1]; ar[i + 1] = temp; } }
以上是关于22 冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章