冒泡排序法

简介: 这是一个关于冒泡排序法的描述和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;
}
目录
相关文章
|
7月前
|
搜索推荐 算法 C++
C++基数排序的实现
C++基数排序的实现
实现一个对整形数组的冒泡排序(冒泡排序法)
实现一个对整形数组的冒泡排序(冒泡排序法)
69 0
|
人工智能 C++
数组排序之桶排序
利用一维数组的知识简单实现桶排序,即对计算机随机读入的0-20之间的5个数从小到大排序
67 0
|
算法 容器
计数排序与基数排序
计数排序与基数排序
157 0
基数排序
概念:基数排序是按照低位先排序,然后收集;再按照高位排序,然后再收集;依次类推,直到最高位。有时候有些属性是有优先级顺序的,先按低优先级排序,再按高优先级排序。最后的次序就是高优先级高的在前,高优先级相同的低优先级高的在前。 基数排序基于分别排序,分别收集,所以是稳定的。但基数排序的性能比桶排序要略差,每一次关键字的桶分配都需要O(n)的时间复杂度,而且分配之后得到新的关键字序列又需要O(n)的时间复杂度。假如待排数据可以分为d个关键字,则基数排序的时间复杂度将是O(d*2n) ,当然d要远远小于n,因此基本上还是线性级别的。 基数排序的空间复杂度为O(n+k),其中k为桶
非比较排序 (计数排序 && 基数排序)
非比较排序 (计数排序 && 基数排序)
140 0
非比较排序 (计数排序 && 基数排序)