C++中排序算法(冒泡排序、选择排序)

1、冒泡排序

冒泡排序通过依次对比相邻两个数并排序,反复多次达到完全排序的效果。

示意图:

示意视频:

代码:

template <class T>
void bobbleSort(T a[], int n)//第一个参数为需要排序的数组,第二个参数为数组长度
{
	for (int j = n - 1; j > 0; j--)
	{
		for (int i = 0; i < j; i++)
		{
			if (a[i] > a[i + 1])
			{
				swap(a[i], a[i + 1]);//从小到大排序
			}
		}
	}
}

2、选择排序

选择排序通过依次寻找数组中最小的、第二小的……顺次放在数组一侧达到排序效果。

示意图:

示意视频:

代码:

template <class T>
void selectSort(T a[], int n)
{
	for (int i = 0; i < n; i++)
	{
                int min = i;
		for (int j = i+1; j < n; j++)
		{
			if (a[j]<min)//从小到大排序
			{
				min=j;
			}
		}
                swap(a[i],a[min]);
	}
}

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Captcha Code