当前位置: 首页 > news >正文

快速排序 C语言实现

问题:快速排序

算法:

代码:

#include<stdio.h>int nums[10] = {4,2,8,3,1,6,5,0,10,9};void QuickSort(int *nums,int left,int right){if(left >= right)       return; // 递归出口int pivot = nums[left];int low = left,high = right;while(low < high){while(low < high && nums[high] >= pivot)        high--; // 从后往前找到第一个小于pivot的nums[low] = nums[high]; // 放到low的位置(nums[low]的值不会消失,因为已经提前存入pivot中了)while(low < high && nums[low] <= pivot) low++; // 从前往后找到第一个大于pivot的nums[high] = nums[low]; // 放到high的位置(刚才空出来了)}nums[low] = pivot; // 把pivot放到现在low的位置QuickSort(nums,left,low - 1); // 递归前半部分QuickSort(nums,low + 1,right); // 递归后半部分return ;
}int main(){QuickSort(nums,0,9);for(int i = 0;i<10;i++) printf("%d ",nums[i]);putchar('\n');return 0;
}


http://www.mrgr.cn/news/35957.html

相关文章:

  • 在深度学习中,是否应该打破正负样本1:1的迷信思想?
  • 基于cesium风场的文件
  • linux常见指令与权限【第四课】
  • 搭建HAproxy----7层负载均衡集群
  • 【学术会议征稿】第四届人工智能、机器人和通信国际会议(ICAIRC 2024)
  • 数字化转型:国内证书哪个更有用
  • 前端——flex布局
  • 解决错误Cloning failed using an ssh key for authentication
  • 高效职场助手
  • 从零开始学习PX4源码5(遥控器数据)
  • 在Gin框架中实现Token令牌认证
  • 惊艳桌面时钟软件 为你的桌面打造专属时间管理!
  • ECharts设置xAxis轴的name位置
  • 2024中国新科技100强名单出炉!MIAOYUN荣获“2024云原生领航企业奖”
  • 分布式事务(1)
  • 解锁编程潜力,从掌握GitHub开始
  • 分布式事务(2)
  • 数据结构习题
  • Vue74 路由的props配置
  • 父母血型与子女血型对照表