![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序
liyexuan_418
摸到电脑时才能更新,勿催更
未成年人,请多关照
寒暑假才能更新(懂我啥意思吧)
展开
-
C++选择排序
老规矩,不要忘了定义x[]数组了!选择排序,顾名思义,选择最小的放前面。原创 2024-01-12 20:12:16 · 323 阅读 · 1 评论 -
C++冒泡排序
待排序的记录序列中可能存在两个或两个以上关键字相等的记录。排序前的序列中a[i]=a[j](i<j).若在排序后的序列中a[i]仍然在a[j]前,则称所用的方法是稳定的。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序错误就把他们交换过来。走访元素的工作是重复地进行,直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这玩意,它没有内置函数,所以得自己写。时间复杂度高,优点是啥?排序时间复杂度O(n^2)原创 2024-01-09 20:58:37 · 341 阅读 · 0 评论 -
C++分治排序
在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。分治排序是先选择一个基准数,将数组分为两半,把比基准数小的放左边,大的放右边,再继续对每一个子序列进行分治排序。2.qsort()是排序函数,参数a表示排序左端点,参数b表示排序右端点。排序时间复杂度O(n log n)1.定义排序数组时需定义成全局数组。原创 2024-01-06 22:07:24 · 369 阅读 · 0 评论 -
C++快速排序
有一个node类型的数组node a[10],想对它进行排序:先按a值升序排列,如果a值相同,再按b值降序排列,如果b还相同,就按c降序排列。快速排序在每一轮挑选一个基准元素,并让其他比它大的元素移动到数列一边,比它小的元素移动到数列的另一边,从而把数列拆解成了两个部分。start表示起始指针,end表示终止指针,cmp表示排序方式,可以不写,默认升序。sort()的强大之处在于它可以用来重载。排序时间复杂度O(n)~O(n^2)我们可以直接通过sort()函数实现。要使用sort(),需要包含头文件。原创 2024-01-06 17:20:54 · 361 阅读 · 0 评论