案例二:冒泡排序
作用:最常用的排序算法,对数组内元素进行排序
思路:1.比较相邻元素。如果第一个比第二个大,交换;
2.对每一对相邻元素同样操作,执行完成,找到最大值;
3.重复以上步骤,每次比较次数-1,直至不需要比较。
示例:将数组{1,6,3,7,8,2,0,5,4,9} 进行升序排序
//利用指针 冒泡排序
void bubbleSort(int& arr,const int& len)
{
for(int i=0; i<len-1; i++)
{
for(int j=0; j<len-1-i; j++)
{
//如果第一个数比第二个数大,交换数字
if(arr[j] > arr [j+1])
{
int tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
}
}
}
}
//打印数组
void printArr(const int& arr,const int& len)
{
for(int i=0; i<len; i++)
cout << arr[i] << " ";
cout << endl;
}
int main()
{
int arr[] = {1,6,3,7,8,2,0,5,4,9};
//求数组总个数
int len = sizeof(arr)/sizeof(arr[0]);
cout << "排序前:" << endl;
printArr(arr,len);
//(冒泡排序)
bubbleSort(arr,len);
cout << "排序后:" << endl;
printArr(arr,len);
system("pause");
return 0;
}