文章目录
- 冒泡排序法的函数实现
- 使用教程
冒泡排序法的函数实现
话不多说上代码,拿去直接用。
// 冒泡排序函数
/*
* @brief sort
* @param array为数组名称,length为数组的长度,order为1或0,1代表从小到大排序
* 0代表从大到小排序
* @return 0代表排序失败,1代表排序成功
*/
int sort(int *array,int length,int order)
{int temp;for(int i=0; i<length-1; i++) // 10个数,10 - 1轮冒泡,每一轮都将当前最大的数推到最后{for(int j=0; j<length-i; j++) // 9 - i,意思是每当经过一轮冒泡后,就减少一次比较{if( 1 == order ){if(array[j]>array[j+1]){temp=array[j];array[j]=array[j+1];array[j+1]=temp;}}else if( 0 == order ){if(array[j]<array[j+1]){temp=array[j];array[j]=array[j+1];array[j+1]=temp;}}else{return 0;}}}return 1;
}
使用教程
#include <stdio.h>
#include <time.h>//使用当前时钟做种子
#include <stdlib.h>// 冒泡排序函数
/*
* @brief sort
* @param array为数组名称,length为数组的长度,order为1或0,1代表从小到大排序
* 0代表从大到小排序
* @return 0代表排序失败,1代表排序成功
*/
int sort(int *array,int length,int order);
int main()
{srand( (unsigned)time( NULL ) ); //初始化随机数int dataCount=10;int numArr[dataCount];printf("%s\n","The original array value list :");for( int i = 0; i < dataCount;i++ ) //打印出10个随机数{numArr[i]=rand()%100+1;printf(" %d\n",numArr[i]);}sort(numArr,11,1); //调用排序函数// 打印排序结果printf("\n%s\n","The now array value list :");for (int i = 0; i < 10; i++)printf(" %d\n", numArr[i]);printf("\nThe max value : %d\n",numArr[9]);return 0;
}
直接复制使用即可。
注意:
1.只能对数组进行排序
2.没有对数组的长度进行防呆,需要真实的传入长度