
排序
fanlangke
这个作者很懒,什么都没留下…
展开
-
计数排序的理解
#include<stdio.h> #include <iostream>#include <cmath>using namespace std;int main() { int a[10] = { 1,3,5,7,6,8,9,2,2,4 }; int b[10] = { 0 }; for (int i = 1; i < 10; i++) { b[a[i]]++; } for (int i = 1; i < 10; i++) { ...原创 2022-01-19 08:53:44 · 437 阅读 · 0 评论 -
快速排序法
#include<stdio.h> #include <iostream>#include <cmath>using namespace std;void quick_sort(int s[], int l, int r){ if (l < r) { int i = l, j = r, x = s[l]; while (i < j) { while (i < j && s[j] >= x) // 从.原创 2022-01-18 17:29:44 · 385 阅读 · 0 评论 -
堆排序的理解
堆排序的关键是对最大堆的理解(或最小堆)以下面数组为例int arr[10] = { 1,23,4,5,67,563,3543,4234,66,44 };首先我们要知道父节点n的两个字节点为2*n+1和2*n+2在第一次得到最大堆之后我们把a[0]与a[9]换值可以的到a[9]是大小在数组里是第一大所以之后我们只需要对a[0]至a[8]排序再次形成最大堆以此类推下面是代码#include <iostream>#include <cstring原创 2022-01-16 23:28:44 · 241 阅读 · 0 评论 -
对归并排序的浅薄理解
#include<iostream>#include<cstdio>using namespace std;//目的:对数组里的十个元素从小到大排序 void mergesort(int a[],int l,int r,int tmp[]);void merge(int a[],int l,int s,int r,int tmp[]);int main(){ int a[10]={1,2,45,6,3,456,7,41,42,56}; int tmp[10];//.原创 2022-01-12 12:16:46 · 2010 阅读 · 0 评论 -
对插入排序的浅薄理解
#include<cstdio>#include<iostream>using namespace std;//目的:将数组里的10个不重复整数元素按从小到大排序//原理:打扑克牌理牌的思路 int main(){ int a[10]={1,2,4,67,45,3,61,23,56,94}; for(int i=0;i<10;i++){ for(int j=i;j>0;j--){ if(a[j]>a[j-1]){ break; .原创 2022-01-11 22:27:19 · 150 阅读 · 0 评论