冒泡排序法

简介: 这是一个关于冒泡排序法的描述和C++实现。冒泡排序通过比较相邻元素并交换(如果需要)来排序数组。提供的代码示例展示了如何用C++进行冒泡排序,并打印排序后的数组。

冒泡排序法的原理是:比较相邻的元素,如果第一个比第二个大,就进行交换


#include<stdio.h>
void Bubble_sort(int arr[],int sz)
{
    int i = 0;
    //趟数
    for (i = 0;i < sz-1;i++)
    {
        int j = 0;
        //对数
        for (j = 0;j < sz -i-1;j++)
        {
            if (arr[j] > arr[j + 1])
            {
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
 
    }
}
 
void print_arr(int arr[], int sz)
{
    int i = 0;
    for (i = 0;i < sz;i++)
    {
        printf("%d ", arr[i]);
    }
    printf("\n");
}
 
int main()
{
    int arr[10] = { 3,7,5,8,6,9,0,2,1,4 };
    int sz = sizeof(arr) / sizeof(arr[0]);
    Bubble_sort(arr, sz);
    print_arr(arr, sz);
    return 0;
}
目录
相关文章
|
6月前
|
算法 搜索推荐 JavaScript
NodeJ实现冒泡算法
NodeJ实现冒泡算法
49 0
|
1月前
|
算法 C# 索引
C#二分查找算法
C#二分查找算法
|
6月前
|
搜索推荐 算法
AcWing 785. 快速排序(一篇解决快速排序中的边界问题!)
AcWing 785. 快速排序(一篇解决快速排序中的边界问题!)
|
6月前
|
存储 算法 C#
C# | 二分查找算法的实现
二分查找法一种在**有序数组**中查找目标值的算法。划重点——“**有序**”,与需要遍历整个数组的查询算法不同,二分查找法通过将数组分成两部分来快速定位目标值所在的位置。 它的主要好处在于它的效率很高。因为它能够通过每次排除一半的元素来快速缩小搜索范围,因此在大型数据集上使用二分查找法可以显著提高查找速度。
58 0
|
算法
二分查找算法
以整型升序数组arr为例,将数组分为两部分:数组大小为size,设置数组下标left、mid、right,初始时分别为首元素下标0、中间元素下表(right-left)/2和最后元素下标 size-1,左部分为left-mid,右部分为 mid-right 设查找值为x,比较x与mid的大小。
53 0
Leecode10.01 合并排序数组
Leecode10.01 合并排序数组
60 0
|
人工智能 C++
数组排序之桶排序
利用一维数组的知识简单实现桶排序,即对计算机随机读入的0-20之间的5个数从小到大排序
64 0
|
搜索推荐
排序算法-冒泡法(起泡法)
排序算法-冒泡法(起泡法)
排序算法-冒泡法(起泡法)