算法——冒泡排序、选择排序、插入排序的核心思路+C++代码实现+性能分析
发布时间
阅读量:
阅读量
一、冒泡排序原理与实现
1、排序思想: 假设需要对一组包含N个数值的数据进行排序,这些数值分别位于索引0、1、2……N-1的位置上。首先将索引0与索引1处的数值进行比较,若前者大于后者,则交换两者的位置,否则维持原状;随后比较索引1与索引2处的数值,若前者大于后者,则交换位置,否则保持不变;依此类推,直至比较索引N-2与索引N-1处的数值,若前者大于后者则进行交换。通过这一轮遍历后,最大的数值将被放置在索引为N-1的位置上。接下来,在索引范围0至N-2之间继续执行类似操作,以确定次大的数值并将其放置在索引为N-2的位置上。重复上述过程,最终可获得一个按升序排列的序列。
2、代码实现
#include<iostream>
using namespace std;
template<typename T>
void bubble_sort(T list[], int len) //冒泡升序排序
{
for (int i = len - 1; i > 0; i--)
{
for (int j = 0; j < i; j++)
{
if (list[j] > list[j + 1])
全部评论 (0)
还没有任何评论哟~
