`
隐形的翅膀
  • 浏览: 480971 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

冒泡法排序

 
阅读更多
1. 冒泡法排序原理

假设有N个数,要求按从小到大顺序排列

a. 进行N-1次循环

b. 在每一次循环中
   假设有n个数,首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后,(这时一共比较了n-1次)
  
2. 冒泡法排序的应用

当待排序的元素规模小:用冒泡排序。规模大一般用快速排序,堆排序。冒泡排序从空间复杂度和时间复杂度来,冒泡排序算法并不是最好的排序方法。但是冒泡排序有一些优点:冒泡排序空间复杂度较低,是一种稳定的排序

(冲突间相对位置不变),当文件为正序时冒泡方法最佳。缺点是时间复杂度高,效率不好
#include "stdafx.h"
#include<iostream>
using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{

	int a[5] =  {9,8,7,6,5};

	for (int  num = 0 ; num < 4 ; num ++)
	{
                        //注意此处不要越界
			for (int m = 0; m <4; m++)
			{
				if ( a[m] > a[m+1])
				{
					int temp;
					temp = a[m];
					a[m] = a[m+1];
					a[m+1] = temp;
				}
			}

   
			for (int n = 0; n < 5 ; n++)
			{
				printf ("a[n]=%d\n",a[n]);

			}
			printf ("************************\n");

	}

	cout << "Please Wait....." << endl;
	int exitcode;
	cin >> exitcode;

	return 0;
}



8 7 6 5 9 

7 6 5 8 9
 
6 5 7 8 9

5 6 7 8 9

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics