C语言的冒泡排序

简介: C语言的冒泡排序

冒泡排序

1.第1个和第2个关键字比较,若第1个大那么这两个数交换。
2.第2个和第3个关键字比较,若第3个大那么这两个数交换。
3.第3个和第4个关键字比较,若第4个大那么这两个数交换。
……

n个数据的数组,最多走n-1趟

举个栗子: 我进行一个6个数据数组的冒泡排序

void Bubblesort(int R[],int n)
{
  int i,j,temp,flag;
  for(i=n-1;i>=1;--i)
  {
    flag=0;//flag来标记本趟排序是否发生交换
    for(j=1;j<=i;++j)
    {
      if(R[j-1]>R[j])
      {
        temp=R[j];
        R[j]=R[j-1];
        R[j-1]=temp;
        flag=1;
      }
    }
    if(flag==0)//没有关键字的交换则有序结束,跳出循环
    {
      return;
    }
  }
}

主函数

int main()
{
  int n=6;
  int R[6];
  printf("输入6个数进行冒泡排序:\n");
  for(int i=0;i<=5;++i)
  {
    scanf("%d",&R[i]);
  }
  Bubblesort(R,n);
  printf("输出冒泡排序后的顺序:\n");
  for(i=0;i<=5;++i)
  {
    printf("%d ",R[i]);
  }
  return 1;
}

运行结果

ok,没问题很简单!

目录
相关文章
|
8月前
|
C语言
【C语言】拿捏冒泡排序(图解)
【C语言】拿捏冒泡排序(图解)
|
8月前
|
搜索推荐 算法 C语言
C语言:冒泡排序
C语言:冒泡排序
|
8月前
|
Java C语言
用Java(C语言也可以看)实现冒泡排序和折半查找(详细过程图)+逆序数组
用Java(C语言也可以看)实现冒泡排序和折半查找(详细过程图)+逆序数组
77 0
|
3月前
|
算法 搜索推荐 C语言
【C语言】冒泡排序+优化版
【C语言】冒泡排序+优化版
|
3月前
|
C语言
【c语言】qsort函数及泛型冒泡排序的模拟实现
本文介绍了C语言中的`qsort`函数及其背后的回调函数概念。`qsort`函数用于对任意类型的数据进行排序,其核心在于通过函数指针调用用户自定义的比较函数。文章还详细讲解了如何实现一个泛型冒泡排序,包括比较函数、交换函数和排序函数的编写,并展示了完整的代码示例。最后,通过实际运行验证了排序的正确性,展示了泛型编程的优势。
38 0
|
6月前
|
搜索推荐 C语言
C语言冒泡排序(附源码和动态图)
冒泡排序是一种简单的排序算法,其基本思想是通过重复遍历待排序的数列,比较每对相邻元素的值,如果它们的顺序错误(即满足一定的排序条件,如从小到大排序时前一个元素大于后一个元素),就交换它们的位置。这个过程就像水底的气泡一样逐渐向上冒,因此得名“冒泡排序”。
109 1
|
7月前
|
算法 搜索推荐 C语言
C语言冒泡排序介绍
C语言冒泡排序介绍
|
7月前
|
C语言
C语言----冒泡排序
C语言----冒泡排序
|
8月前
|
存储 C语言
C语言初阶④(数组)知识点+编程作业(三子棋,冒泡排序)(下)
C语言初阶④(数组)知识点+编程作业(三子棋,冒泡排序)
44 1
|
7月前
|
搜索推荐 前端开发 C语言
C语言探索:冒泡排序的实现与解读
C语言探索:冒泡排序的实现与解读
78 0