C语言:冒泡法排序一组数,如何优化?

原创 2016年05月30日 17:15:18
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>

int main()
{
     int arr[] = { 5, 6, 7, 8, 9 ,1, 2, 3, 4};
     int i = 0;
     int j = 0;
     int flag;
     int size = sizeof(arr) / sizeof(arr[0]);
     for (i = 0; i < size- 1 ; i++)
     {  
          flag = 1;//设置标志位,优化冒泡
          for (j = 0; j < size  - 1 - i ; j++)
          {
               if (arr[j] < arr[j + 1])
               {
                    int tmp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = tmp;
                    flag = 0; 
           }
      }
      if (flag) //说明未进入if内部,即尚未交换已经是所需的输出顺序
      break;
     }
     
     for (i = 0; i < size; i++)
     {
          printf("%d ", arr[i]);
     }
     system("pause");
     return 0;
}

wKioL1ZFn03yR0LYAABblrgS6qs472.png

C语言冒泡法排序[经典]

C语言冒泡法排序[经典] 冒泡法排序的算法思想是:        通过无序区中相邻记录关键字间的比较和位置交换,使关键字的记录如气泡一般逐渐往上“漂浮”至“水面”。整个算法是从最下面的记录开始,对...
  • lyc_daniel
  • lyc_daniel
  • 2013年05月16日 16:45
  • 13010

冒泡法排序(c语言)

7-1 冒泡法排序(20 分) 将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大...
  • npmirai
  • npmirai
  • 2017年12月17日 16:24
  • 168

C语言中冒泡法、选择法、插入法三种常见排序算法分析

一、冒泡法(起泡法)  算法要求:用起泡法对10个整数按升序排序。     算法分析:如果有n个数,则要进行n-1趟比较。在第1趟比较中要进行n-1次相邻元素的两两比较,在第j趟比较中要进行n-j...
  • Angiexia
  • Angiexia
  • 2014年02月26日 18:50
  • 11108

C语言 利用函数调用进行排序——冒泡法

//Title冒泡排序,利用函数调用 //Author: //flyingostrich //Data: //Tuesday 26-August-2014 //Environment: /...
  • flyingostrich
  • flyingostrich
  • 2014年08月26日 20:20
  • 1452

常见排序方法(c语言)---冒泡法,选择法

冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直...
  • bao_jinyu
  • bao_jinyu
  • 2012年12月31日 12:18
  • 30856

给随机的一组数排序

1.在左侧的工具栏中找到Commandbutton并创建 2.双击Command1,在弹出的窗口中输入以下内容 Option Base 1 Private Sub Command1_Click(...
  • cai18732646484
  • cai18732646484
  • 2016年03月31日 17:46
  • 124

C 语言 键盘输入一组数据,两种方式排序输出。

1. 自定义一个函数,将三个数字按照由大到小或者有小到大的顺序排列并且输出。  要求:在main函数中完成三个数字的输入,调用自定义的函数选择排序方式,并完成三个数字的排列和输出  2. 自定义一...
  • Joycecsdn
  • Joycecsdn
  • 2014年12月03日 23:00
  • 1579

【c语言】用冒泡法对10个字符由小到大排序

#include #include #define N 10 char str[N]; int main() { void sort(char []); int i,flag; for(fl...
  • wmy_1995
  • wmy_1995
  • 2016年04月13日 21:40
  • 1835

C语言:冒泡排序法(升序排序法)

任务代码: 执行情况: 知识总结: 冒泡排序法:也叫升序排序法,但是相比起二分法查找只能应用于有序数列,二如何将一个无序数列变的有序就可以使用冒泡排序法!!! 对上面的过程进行总结: ...
  • Zzwtyds
  • Zzwtyds
  • 2017年07月26日 17:58
  • 2057

c语言:编写冒泡排序,排序一个整形数组(从小到大)

程序:不妨按从小到大排序#include stdio.h>int main (){ int a[10]; int i = 0; int j = 0; int t = 0; printf ("input...
  • yanxiaolx
  • yanxiaolx
  • 2016年05月29日 13:34
  • 4587
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言:冒泡法排序一组数,如何优化?
举报原因:
原因补充:

(最多只允许输入30个字)