c++实现冒泡排序

#include
using namespace std;

//冒泡排序函数 参数一是数组的首地址 参数二是数组的长度
void bubbleSort(int *arr,int len)
{
/*利用冒泡排序实现一个数列的升序排列
* 排序总轮数=元素个数-1
* 每轮对比次数=元素个数-排序轮数-1
*/
	//总共排序的次数为元素的个数减去一
	for (int i = 0; i < len; i++)
	{
		//内层循环对比的次数为元素的个数减去当前的轮数减去一
		for (int j = 0; j < 10 - i - 1; j++)
		{
			//如果第一个数字比第二个数字大,则交换两个数字
			if (arr[j] >= arr[j + 1])
			{
				int temp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = temp;
			}
		}
		
	}

}
//打印数组
void printArray(int* arry, int len)
{
	for (int i = 0; i < len; i++)
	{
		cout << arry[i] << " ";
	}
	cout << endl;
}

int main()
{
	//1、创建数组
	int arr[10] = { 9,3,5,1,3,2,55,40,76,1 };
	cout << "排序前的数组" << endl;
	
	//数组的长度
	int len = sizeof(arr) / sizeof(arr[0]);
	printArray(arr, len);

	//2、创建函数,实现冒泡排序
	bubbleSort(arr,len );

	//3、打印排序后的数组
	cout << "排序后的的数组" << endl;
	printArray(arr, len);

	system("pause");
	return 0;
}

冒泡排序

你可能感兴趣的:(c++,排序算法,算法,数据结构)