
排序算法
各种排序C++代码
好吃还得是柚子
首先,少年,答应了别人的事就一定要做到
展开
-
冒泡排序算法
什么是冒泡排序 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。 原始的冒泡排序是稳定的,由于该排序算法的每一轮都要遍历一遍所有的元原创 2021-03-16 21:50:53 · 162 阅读 · 0 评论 -
快速排序算法代码
快速排序 #include <iostream> #include <vector> using namespace std; void QSort(vector<int>& nums, int low, int high); int partition(vector<int>& nums, int low, int high); void swap(vector<int>& nums, int low, int high原创 2021-01-31 16:57:32 · 500 阅读 · 0 评论 -
堆排序(大、小顶堆)完整代码
大顶堆 #include <iostream> using namespace std; #include<vector> void swap(int* vec, int i, int j); void heapadjust(int *vec, int i, int n) { int temp = vec[i]; for (int j = 2 * i + 1; j <= n; j = j * 2 + 1) { if (j + 1 < n原创 2021-01-29 20:22:55 · 572 阅读 · 0 评论 -
直接插入排序
直接插入排序概念 直接插入插排的插入原理是:当插入第i(i >0)时,前面的arr[0],arr[1],……,arr[i-1]已经排好序。这时,用arr[I]的排序码与arr[i-1],arr[i-2],…的排序码依次顺序进行比较,找到插入位置即将arr[i]插入,插入后其他原来位置上的元素向后顺移。 也就是每次都把一个待插入元素按照大小插入到前面已经排好序的恰当地方,直到全部元素插入完成。 测试代码如下: #include <stdio.h> void display(int arr[原创 2021-01-27 08:07:46 · 318 阅读 · 0 评论