几种经典排序算法的演示(C++实现)

该文章所有代码均基于SortView类,头文件及基本代码如下

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

class SortView {
   
public:
	void BubbleSort();//冒泡排序
	void SelectionSort();//选择排序
	void InsertionSort();//插入排序
	void ShellSort();//希尔排序
	void Quicksort(int low, int high);//快速排序
	void MergeSort(int left, int right);//归并排序
	void Merge(int left, int right,int mid);//归并排序
	void RadixSort();//基数排序
	void Init(int n);//初始化数组
	void Show();//打印数组
	int Size();
private:
	vector<int> Unsort;
	int temp[];
};

void SortView::Init(int n) {
   
	for (int i = 0; i < n; i++) {
   
		Unsort.push_back(rand());
	}
}

void SortView::Show() {
   
	for (int i = 0; i < Unsort.size(); i++) {
   
		cout << Unsort[i] <<" ";
	}
	cout << endl;
}

int SortView::Size() {
   
	return Unsort.size();
}

1、冒泡排序(BubbleSort)

冒泡排序是一种较为简单的排序算法,其基本思想就是循环遍历需要排序的元素,依次比较两个相邻的元素,如果它们之间的顺序不符合需要的顺序,即将他们进行交换,知道某一次循环遍历没有需要交换的元素,排序完成。

void SortView::BubbleSort
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
十大经典排序算法中的三种排序算法分别是冒泡排序、希尔排序和选择排序。 冒泡排序是一种简单直观的入门排序算法,其原理是从第一个元素开始,与后面的元素逐个比较,如果顺序不对就交换,直到没有可比较的元素为止。 希尔排序是插入排序的一种高效改进版本,也称为“缩小增量排序”。该算法将记录按下标的一定增量分组,对每组使用直接插入排序算法排序,随着增量的逐渐减小,每组包含的关键词越来越多,当增量减至1时,整个文件被分成一组,排序完成。 选择排序是基于冒泡排序的优化,减少了交换的次数。每次遍历后找出最小/最大的元素,然后与第一个元素交换,再从剩下的元素中重复这个过程。 以上是关于冒泡排序、希尔排序和选择排序的简要介绍。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [c++十大经典排序算法](https://blog.csdn.net/zhoujiajie0521/article/details/122183332)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [十大经典排序算法C++)](https://blog.csdn.net/qq_52639492/article/details/122106147)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值