精华内容
下载资源
问答
  • C++冒泡排序

    千次阅读 多人点赞 2015-07-23 17:17:00
    C++冒泡排序

        冒泡排序时间复杂度是O(n^2),空间复杂度是O(1),是一种稳定的排序方法,适用于待排序序列基本有序或待排序记录数目较少的场合。

        冒泡排序基本思想:把待排序记录分为有序区和无序区,初始状态有序区为空,无序区为待排序记录,然后依次对无序区从后向前进行关键字比较,得到每次遍历的最大/最小值,顺序放在有序区的最后。在遍历的过程中,满足条件的比较记录需要进行交换。

        冒泡排序需要解决的两个关键问题:第一、如何确定待排序记录的范围,使得已经位于最终位置的记录不参与下一趟排序;第二、如何判别冒泡排序结束。

    //冒泡排序
    #include<iostream>
    using namespace std;
    void bubblesort(int str[],int len){
    	for(int i=0;i<len-1;i++){
    		int count=0;//count用来控制:当遍历完成之前已排好序时,不再继续遍历
    		for(int j=len-1;j>i;j--){
    			if(str[j-1]>str[j]){
    				int temp=str[j-1];
    				str[j-1]=str[j];
    				str[j]=temp;
    				count=1;
    			}
    		}
    		if(count==0) break;
    		cout<<"第"<<i+1<<"次遍历结果:";
    		for(int a=0;a<len;a++)
    			cout<<str[a]<<" ";
    		cout<<endl;
    	}
    
    }
    int main(){
    	int  str[5]={5,2,6,3,7};
    	int len=sizeof(str)/sizeof(str[0]);
    	bubblesort(str,len);
    	cout<<"最终排序结果:";
    	for(int i=0;i<len;i++)
    		cout<<str[i]<<" ";
    	cout<<endl;
    	return 0;
    }


    运行结果:

    结果显示:使用变量count,减少了遍历次数。

    展开全文
  • c++ 冒泡排序

    2019-06-17 20:36:00
    c++ 冒泡排序 具体题目忘记了,反正要求就是把输入的n个数进行从小到大依次排序 代码+注释 #include <bits/stdc++.h> using namespace std; int a[100]; int main() { int n; cin >> n; for (int i =...

    c++ 冒泡排序

    具体题目忘记了,反正要求就是把输入的n个数进行从小到大依次排序

    代码+注释

    #include <bits/stdc++.h>
    using namespace std;
    int a[100];
    int main()
    {
        int n;
        cin >> n;
        for (int i = 0;i < n;i ++)
        {
            cin >> a[i];//输入数组a  
        }
        for (int i = 0;i < n - 1;i ++)//如果有n个数,就要连续排序n - 1 次
        {
            for (int j = 0;j < n - 1 - i;j ++)//执行每一次比较的次数
            {
                if (a[j] > a[j + 1])//如果这个数比前面的大
                {
                    swap(a[j],a[j + 1]);//把a[j] 和 a[j + 1] 进行交换
                }
            }
        }
        for (int i = 0;i < n;i ++)//数组输出
        {
            cout << a[i] << "\t";
        }
        cout << endl;
        return 0;
    }

    思路

    1)先把你要排的数输入到数组里
    2)进行n-1次冒泡排序,从左往右两两比较
    3)如果这个数比前面的大,那么就交换
    4)依次输出数组

    转载于:https://www.cnblogs.com/LJA001162/p/11042065.html

    展开全文
  • c++冒泡排序

    2014-03-19 09:08:58
    冒泡排序 c c++ 排序的三种方法之一 冒泡排序 选择排序 插入排序
  • C++ 冒泡排序

    2012-12-15 16:23:02
    C++ 实现的冒泡排序算法,解压后main.cpp里面的代码既是冒泡排序的源代码
  • c++冒泡排序

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,586
精华内容 1,834
关键字:

c++冒泡排序

c++ 订阅