冒泡排序,函数

#include <stdio.h>
#define N 10
void maopaosort(int a[],int n);
int main()
{
    int a[N],i,n;
    while(scanf("%d",&n)!=EOF)  //输入数列中数的个数
    {
        for(i=0;i<n;i++)
            scanf("%d",a+i);
        maopaosort(a,n);
        for(i=0;i<n;i++)
            printf("%d ",a[i]);
            printf("\n");
    }
    return 0;
}
void maopaosort(int a[],int n)
{
    int i,j,tmp;
    for(i=1;i<n;i++)  //共进行n——1轮比较
    {
        for(j=0;j<n-1;j++)  //每轮进行n_1次比较
        {
            if(a[j]>a[j+1]) //如果符合条件  交换两数
            {
                tmp=a[j+1];
                a[j+1]=a[j];
                a[j]=tmp;
            }
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 冒泡排序是一种简单的排序算法,通过重复地遍历列表元素并比较相邻项的顺序,将较大的元素向序列末端“浮动”。以下是基于 Python 的冒泡排序的基本实现: ```python def bubble_sort(arr): n = len(arr) for i in range(n): # 最外层循环控制遍历轮数,每轮都将最大值移到了数组末尾 for j in range(0, n - i - 1): # 如果当前元素大于下一个元素,则交换它们的位置 if arr[j] > arr[j + 1]: arr[j], arr[j + 1] = arr[j + 1], arr[j] return arr # 示例 arr = [64, 34, 25, 12, 22, 11, 90] sorted_arr = bubble_sort(arr) print("Sorted array is:", sorted_arr) ``` 这个冒泡排序函数可以对任意的一维数值列表进行排序。 ### 相关问题: 1. **为什么使用冒泡排序?** - 尽管冒泡排序相对简单容易理解,但它的时间复杂度较高,在实际应用中很少用于大数据量排序。然而,它对于教学和小规模数据排序还是很有价值的。 2. **如何优化冒泡排序?** - 一种常见的优化是在内层循环中添加一个标志变量`swapped`。如果在一次遍历中没有任何交换发生,说明列表已经排好序,这时可以提前结束排序过程,避免不必要的额外迭代。 3. **冒泡排序与快速排序的区别?** - 冒泡排序的稳定性高、实现简单,但效率较低,其平均时间复杂度为 O(n^2);而快速排序通常具有更好的性能,特别是在处理大规模数据集时,尽管它的最坏情况时间复杂度也是 O(n^2),但在大多数情况下表现得更好,并且在平均情况下的效率更高。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值