![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
桃花er
在读计算机学生
通过此博客来记录自己的学习路程
分享知识,提升自己
展开
-
算法问题:Smith数问题
想必搜这个问题的同学都知道Smith数的概念,这里就不再赘述了,如果不清楚可以百度查一下。然后就是源代码将在文章最后给出,注释很详细,这里就不解释了,直接看代码就可以了。最后的最后博主想说的是,我在搜索有关Smith数资料的时候,发现了很多“错误的代码”,为什么要加双引号呢,因为这个问题通常是课本上或者别的什么地方的题,这些错误的代码都是面向测试样例编程,在课本上给的测试样例中,代码能够通过,但是换一个测试样例,就很可能会出错。如果你在别的地方看到Smith数问题的源代码,并且你是真的想学会这个算法请原创 2020-11-23 00:23:40 · 2719 阅读 · 1 评论 -
堆排序C语言实现(源代码)
堆排序#include <stdio.h>void swap(int arr[], int a, int b){ int tmp; tmp = arr[a]; arr[a] = arr[b]; arr[b] = tmp;}void heapify(int tree[], int n, int i){ if (i >= n){ return; } int max = i;//假设父节点为最大值 int c1 = 2 * i + 1; int c2 = 2 *原创 2020-10-18 21:07:09 · 3903 阅读 · 0 评论 -
冒泡排序C语言实现(源代码)
冒泡排序对一个元素个数为20个的随机数组进行冒泡排序#include <stdio.h>#include <stdlib.h>#include <time.h>void swap(int &a, int &b){ int tmp = a; a = b; b = tmp;}void Display(int *a, int n){ for (register int i = 0; i < n; i++){ printf("%原创 2020-10-18 20:46:29 · 4284 阅读 · 1 评论 -
直接插入排序C语言实现(源代码)
插入排序对一个元素个数为20个的随机数组进行插入排序#include <stdio.h>#include <stdlib.h>#include <time.h>void Display(int *a, int n){ for (register int i = 0; i < n; i++){ printf("%d ", a[i]); } printf("\n");}void insert_sort(int *a, int n){ reg原创 2020-10-18 20:44:10 · 2503 阅读 · 0 评论 -
选择排序C语言实现(源代码)
选择排序对一个元素个数为20个的随机数组进行选择排序#include <stdio.h>#include <stdlib.h>#include <time.h>void swap(int &a, int &b){ int tmp = a; a = b; b = tmp;}void Display(int *a, int n){ for (register int i = 0; i < n; i++){ printf("%原创 2020-10-18 20:40:17 · 3121 阅读 · 0 评论 -
归并排序C语言实现(源代码)
归并排序对一个元素个数为20个的随机数组进行快速排序#include <stdio.h>#include <stdlib.h>#include <time.h>void Display(int *arr, int n){ for (register int i = 0; i < n; i++){ printf("%d ", arr[i]); } printf("\n");}void merge(int *arr, int L, int M原创 2020-10-18 20:51:39 · 1816 阅读 · 0 评论 -
希尔排序C语言实现(源代码)
对一个元素个数为20个的随机数组进行希尔排序#include <stdio.h>#include <stdlib.h>#include <time.h>void swap(int &a, int &b){ int tmp = a; a = b; b = tmp;}void Display(int *a, int n){ for (register int i = 0; i < n; i++){ print原创 2020-10-18 20:49:49 · 3177 阅读 · 1 评论 -
快速排序C语言实现(源代码)
对一个元素个数为20个的随机数组进行快速排序#include<stdio.h>#include<stdlib.h>#include <time.h>void Display(int *a, int n){ for (register int i = 0; i < n; i++){ printf("%d ", a[i]); } printf("\n");}void quicksort(int *a, int left, int right){原创 2020-10-18 20:48:04 · 2657 阅读 · 0 评论