排序——2006年华中科技大学

阅读: 评论:0

排序——2006年华中科技大学

排序——2006年华中科技大学

文章目录

  • 知识点
  • 疑问
  • 代码
  • 反思

知识点

排序算法

疑问

暂无

代码

//本题采用快速排序试试,练练手 
#include "bits/stdc++.h"using namespace std;const int maxn = 110;//输入的数字数,也就是长度 
int n; //存储数据的数组
int A[maxn];int partition(int A[],int left,int right){//我们是以left作为中心点的 int temp = A[left]; while(left != right){	//只要left和right没有相遇 while(left != right && A[right] > temp){ //只要一直大于并且未相遇 right--;}A[left] = A[right];	//将right赋值到左边 while(left != right && A[left] <= temp){	//判断left!= right可以防止全是同一个数的情况 left++;}A[right] = A[left]; }//最后left等于right,这就是中心点应该在的地方A[left] = temp;return left; 
} void quickSort(int A[],int left,int right){if(left < right){//递归边界是left >= right,想想只有两个元素的时候的情况 int pos = partition(A,left,right);quickSort(A,left,pos-1);quickSort(A,pos+1,right); }
}void print(int A[],int n){for(int i=1;i<=n;i++){printf("%d ",A[i]);}printf("n");
}int main(){while(~scanf("%d",&n)){//数组下标从1开始存储 for(int i=1;i<=n;i++){scanf("%d",&A[i]);}quickSort(A,1,n);print(A,n); }return 0;
} 

反思

  1. 排序算法有很多种,到底应该选哪种呢?
    我们应该从时间复杂度和空间复杂度的角度去考虑,综合选取合适的排序算法;
  2. 其他需要注意的就是快速排序的一些代码细节。。。
  3. C++11与C++14日常写题没啥区别,大佬推荐C++14,它快一些。

本文发布于:2024-02-01 06:10:36,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170673903634454.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:科技大学   年华
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23