c/c++基础算法(一)(快速排序与归并排序)

本文介绍了C/C++中的两种基础排序算法:快速排序和归并排序。快速排序通过分而治之的思想实现,以基准点划分数组,减少交换次数,提高效率。归并排序同样利用分治法,通过递归或迭代方式将数组逐步合并成有序序列。这两种算法是解决排序问题的有效方法。
摘要由CSDN通过智能技术生成


前言

经常使用的算法应该就是快速排序归并排序
归并排序理解起来有点复杂,复杂的原因不仅在于归并排序分成了两个部分进行解决问题,而是在于,你需要一些算法的思想支撑。


一、快速排序

1.快速排序

快速排序又是一种分而治之思想在排序算法上的典型应用。本质上来看,快速排序应该算是在冒泡排序基础上的递归分治法。

快速排序的名字起的是简单粗暴,因为一听到这个名字你就知道它存在的意义,就是快,而且效率高!它是处理大数据最快的排序算法之一了


void quick_sort(int q[], int l, int r)
{
   
	if (l >= r)return;//说明不需要排序
	int x = q[l], i = l - 1, j = r + 1; //x为基准数
	while (i < j)
	{
   
		do i++; while (q[i] < x);
		do j
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值