在这个 C++ 程序中,我们将学习冒泡排序算法,这是一种简单的排序算法。
冒泡排序是最简单的排序算法之一,也被称为下沉排序算法。冒泡排序的工作原理是,在不同的趟次中重复比较并交换相邻元素,直到数组排序完成。使用冒泡排序,我们只能对少量数据元素进行排序。
考虑一个数组 arr[] = {5, 1, 4, 2, 8}
第一趟
第二趟:
第三趟:
程序要求用户输入数组的大小及其元素。用户输入的大小被读入变量 n。要排序的元素存储在名为 arr[50] 的数组中。可以使用 for 循环 将元素获取到数组中。
最初,i 的值设置为 0 并检查条件 i。如果为 true,则将第一个元素获取到 arr[i] 中并递增 i 的值。
现在所有 n 个元素都存储在 arr[] 中。对于使用 for 循环 排序,
最初 i=0 并检查条件,它是否小于 n-1。如果条件评估为 true,程序流程进入循环。j=0 (最初) 并且条件 j<(n-i-1) 评估为 true,程序流程进入循环并检查 if 块的条件,即 arr[j]>arr[j+1] 评估为 true,程序流程进入 if 块。索引号 j 处的元素与索引号 j+1 处的元素交换。现在程序流程转到内部 for 循环 的更新部分并递增 j 的值。再次检查条件,即 j<(n-i-1) 评估为 true,因此程序流程再次进入循环并检查 if 块的条件。如果条件评估为 true,则处理三个语句,否则更新 j 的值,并检查条件。继续类似地使用更新的值进行处理,直到外部 for 循环 的条件评估为 false。如果外部 for 循环的条件评估为 false,则程序流程退出循环。现在数组 arr[] 已排序,只需将其打印出来。
步骤 1: 调用头文件 iostream.
步骤 2: 使用 namespace std。
步骤 3: 打开整数类型主函数;int main()。
步骤 4: 声明整数类型变量 n, i, j. arr[50], temp;
步骤 5: 要求用户输入数组的大小;
步骤 6: 将数字获取到变量 n 中;
步骤 7: 要求用户输入数字;
步骤 8: 将数字获取到数组 arr[50] 中;
步骤 9: 获取数组的前两个元素并检查条件 arr[0] > arr[1];
步骤 10: 交换元素。
步骤 11: 获取元素 arr[1] 和 arr[2];检查条件 arr[1]>arr[2];
步骤 12: 重复步骤 10;
步骤 13: 同样地获取每个元素并进行比较;
步骤 14: 打印已排序的数组;
步骤 15: 退出;
#include<iostream>
using namespace std;
int main()
{
int n, i, arr[50], j, temp;
cout<<"Enter the Size (max. 50): ";
cin>>n;
cout<<"Enter "<<n<<" Numbers: ";
for(i=0; i<n; i++)
cin>>arr[i];
cout<<"\nSorting the Array using Bubble Sort Technique..\n";
for(i=0; i<(n-1); i++)
{
for(j=0; j<(n-i-1); j++)
{
if(arr[j]>arr[j+1])
{
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
cout<<"\nArray Sorted Successfully!\n";
cout<<"\nThe New Array is: \n";
for(i=0; i<n; i++)
cout<<arr[i]<<" ";
cout<<endl;
return 0;
}
Enter the Size (max. 50): 6 Enter 6 Numbers: 6 2 8 3 9 1 Sorting the Array using Bubble Sort Technique.. Array Sorted Successfully! The New Array is: 1 2 3 6 8 9