排序——冒泡排序(Bubble Sort)

冒泡排序(Bubble Sort):它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

时间复杂度O(n^2)

稳定性:冒泡排序是一种稳定排序算法

实例

// Bubblesort.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include 
using namespace std;

template
void Bubblesort(T data[], int n)
{
	for (int i = 0; i < n - 1; i++)
	{
		for (int j = n - 1; j > i; j--)
		{
			if (data[j] < data[j - 1])
			{
				swap(data[j], data[j - 1]);
			}
		}
	}
}

template
void Sprint(T data[], int n)
{
	for (int i = 0; i < n; i++)
	{
		cout << data[i] << " ";
	}

	cout << endl;
}

int _tmain(int argc, _TCHAR* argv[])
{
	int arr[] = { 3, 5, 1, 4, 6, 2 };
	int n = sizeof(arr) / sizeof(int);
	Bubblesort(arr, n);
	Sprint(arr, n);
	return 0;
}



你可能感兴趣的:(数据结构与算法)