C++之冒泡排序

0人阅读 评论(0) 收藏 举报

用冒泡法对10个整数由大到小排序,10个整数用cin输入

  冒泡排序顾名思义像冒泡泡一样排序,从头冒到尾。首先,一次比较两个元素,如果他们的顺序错误就把他们的位置换一下,然后在比较下一组,直到没有需要交换的,这时候说明已经排序完成。

  它的算法复杂度:如果他本来就排好序了,这说明只需要扫描一趟就可以完成排序,此时需要比较n-1个数,算法复杂度为O(n);如果数列是反序的,那么这时需要扫描n-1趟,每次比较n-i个数,且每次比较都必须移动关键字。这时算法时间复杂度为O(n^2)。

#include<iostream>
using namespace std;

int main()
{

	int a[10];//定义一个数组,存放输入的10个数
	int i,j,t;//t用于存放交换的数
	cout<<"please enter the numbers:"<<endl;
	for(i=0;i<10;i++)
	{
		cin>>a[i];//输入10个数
	}
	cout<<endl;
	for(j=0;j<9;j++)//扫描n-1次
		for(i=0;i<9-j;i++)//每次比较的次数
			if(a[i]>a[i+1])//交换语句
			{
				t=a[i];
				a[i]=a[i+1];
				a[i+1]=t;
			}
	cout<<"the sorted numbers:"<<endl;
	for(i=0;i<10;i++)//输出排序后数据
		cout<<a[i]<<" ";
	cout<<endl;
	return 0;
}

查看评论

算法代码实现之冒泡排序,C/C++ 实现

两种类似的方式: #include //交换数组元素 void swap(int *a,int i,int j){ int t = a[i]; a[i] = a[j]; a...
  • QQ245671051
  • QQ245671051
  • 2016-02-27 20:28:12
  • 1991

一维数组的冒泡排序

#include //冒泡排序 int main(void){ int nums[] = {23,14,76,53,29}; int LEN = sizeof(nums)/ sizeo...
  • DucklikeJAVA
  • DucklikeJAVA
  • 2017-03-19 15:52:30
  • 1243

蛮力法之冒泡排序(C实现)

#include void DataSwap(int* data1, int* data2) { int temp = *data1; *data1 = *...
  • zenglinshan
  • zenglinshan
  • 2015-11-07 12:11:21
  • 649

C++模板实现冒泡排序

冒泡排序的思想是从数组(链表)末尾开始,对相邻的两个数据进行比较,如果小数据在后面,则交换位置.直到进行到开头位置,则称为进行了一次冒泡.最小的数据被冒泡到了开头位置.然后将开头位置向后移动一个单位,...
  • luanzheng_365
  • luanzheng_365
  • 2017-04-19 21:49:32
  • 390

c++冒泡排序源程序

  • 2009年06月10日 09:07
  • 1KB
  • 下载

冒泡排序及改进(C++版)

冒泡排序:相邻两个数比较,根据大小交换位置 C++代码: /** * name:冒泡排序 * time:15/8/12 15:00 * environment: ubuntu 14.04, subli...
  • u012580566
  • u012580566
  • 2015-08-12 16:55:20
  • 981

冒泡排序C++实现+优化

#include #include using namespace std; void BubbleSort(int *pdata,int length) { for (int i=1;i=i;j-...
  • SUNSHANGJIN
  • SUNSHANGJIN
  • 2014-08-03 10:58:11
  • 1599

C++简单排序算法之冒泡排序

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需...
  • zhengjuexi4456
  • zhengjuexi4456
  • 2016-09-08 22:01:13
  • 30752

冒泡排序(C++语言描述)

冒泡排序(Bubble Sort):一种交换排序,它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。其时间复杂度为:O(n^2) 以下是我写的代码及其程序结果,程序用...
  • jwentao01
  • jwentao01
  • 2015-06-12 14:13:50
  • 1537

冒泡排序的C++实现

  • 2017年03月05日 12:30
  • 2.47MB
  • 下载
    个人资料
    持之以恒
    等级:
    访问量: 307
    积分: 61
    排名: 162万+
    文章分类
    文章存档