Advertisement

算法——冒泡排序、选择排序、插入排序的核心思路+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)

还没有任何评论哟~