C++总结笔记(八)排序算法之快速排序

快速排序

  1. 将想要排序的数据通过一趟排序分割成两部分,其中的一部分数据比另外一部分的小;然后按照此方法对两部分数据分别快速排序。

#include<iostream>
#include<string>
using namespace std;

void quickSort(int* array,int begin,int end)
{
 int l = begin;
 int r = end;
 int temp = array[begin];

 if(l>=r)
 {
  return;
 }
 while(l != r)
 {
  if(l<r && array[r] > temp)
  {
   r--;
  }
  array[l] = array[r];

  if(l<r && array[l] < temp)
  {
   l++;
  }
  array[r] = array[l];
 }
 array[l] = temp;

 quickSort(array,begin,l-1);
 quickSort(array,l+1,end);
}

int main()
{
 int array[] = {23,45,3,2,24,56,1,67,4};
 int len = sizeof(array)/sizeof(int);
 quickSort(array,0,len-1);

 for(int i = 0;i<len;i++)
 {
  cout<<array[i]<<endl;
 }
 return 0;
}

posted on   Kimi_jun  阅读(267)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2010-05-31 Asp.net开发之旅--动态产生控件
< 2013年5月 >
28 29 30 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

导航

统计

点击右上角即可分享
微信分享提示