首先编写冒泡排序函数bubbleSort传入数组内容参数以及数组个数参数,其中利用bool值来完善健全性及非递减顺序时不进行比较直接结束排序。
然后new一个动态数组空间,用一个整形数据表示数组个数,通过cin外部输入数组数据,提高适用性,然后进行排序之后,输出结果。
最后再将之前new的动态数组空间delete进行销毁。
各位大佬,小伙伴们有啥想法以及意见都可以指出交流,谢谢大家的支持!
代码如下
#include <iostream>
using namespace std;
#define DATA1 100
void bubbleSort(int arr[], int n)
{ int i, j;
bool isSorted = true;
for (i = 0; i < n - 1; i++)
{ for (j = 0; j < n - i - 1; j++)
{ if (arr[j] > arr[j + 1])
{
swap(arr[j], arr[j + 1]);
isSorted = false;
}}
if (isSorted)
break;
}}
int main()
{ int *data= new int [DATA1];
int z;
cout << "请输入数组个数:";
cin >> z;
for (int i = 0; i <z; i++)
{
cin >> data[i];
}
bubbleSort(data, z);
cout << "排序结果为:"<<endl;
for (int i = 0; i < z; i++)
{
cout << data[i] << " ";
}
delete[] data;
system("pause");
}