C++之冒泡排序

来源:互联网 发布:手机游戏无法连接网络 编辑:程序博客网 时间:2024/06/08 10:54
  1. 冒泡排序实现流程
    冒泡排就是不断的比较相邻两个数的大小,让大的数向后移动,第二轮第二大的数在移动,一次类推。具体流程类似下图显示:
    这里写图片描述
    对于具有N个元素的数组,最多进行N-1次比较,下面是具体的算法:
#include<iostream>using namespace std;#define N 6void bubble_sort(int a[],int b);void bubble_sort(int a[], int b){    //进行N-1次比较    for (int i = 0; i < b - 1; i++){        //每一轮比较前面N-1-i个,已经排好最后一个数据不管        for (int j = 0; j < b - 1 - i; j++)        {            for (int j = 0; j<b - 1 - i; j++)            {                if (a[j] > a[j + 1])                {                    int temp = a[j];                    a[j] = a[j + 1];                    a[j + 1] = temp;                }            }        }    }}int main(){    int num[N] = {6,5,1,4,3,2};    bubble_sort(num, N); //或者使用bubble_sort_better(num, N);    for (int i = 0; i < N; i++)    cout << num[i];    cout << endl;    system("pause");    return 0;}

输入数据为 6,5,1,4,3,2
输出数据:
这里写图片描述

0 0
原创粉丝点击