![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法学习
文章平均质量分 61
无得
这个作者很懒,什么都没留下…
展开
-
【算法学习】排序算法-堆排序
思想:对全部元素n-1建立大顶堆后,将顶与最后一个元素交换;而后对n-2个元素建堆,将顶与倒数第二个元素交换;直到最后两个元素建堆。C代码#include "stdio.h"void array_printf(int a[],int n);void sort_heap(int a[],int n);void build_heap(int a[],int e);int m原创 2014-11-27 20:22:07 · 402 阅读 · 0 评论 -
【算法学习】排序算法-希尔排序
思想对插入排序的改进,进行多次插入排序,只不过每次插入排序的步长不是1,而分别是n/2,n/4,n/8, ...,1C代码#include "stdio.h"void array_printf(int a[],int n);void sort_shell_insert(int a[],int n,int d);void sort_shell(int a[],int n);int原创 2014-11-27 17:00:34 · 463 阅读 · 0 评论 -
【算法学习】排序算法 - 插入排序
C语言代码#include "stdio.h"void array_printf(int a[],int n);void sort_insert(int a[],int n);int main(){ int i,a[5] = {5,4,3,2,10}; sort_insert(a,5); return 0;}void array_printf(int a[],int n){原创 2014-11-22 00:39:27 · 430 阅读 · 0 评论 -
【算法学习】排序算法-快速排序
思想:每次确定要排序列表中一个元素的绝对位置,而后将该列表划分为两部分,两部分分别按照同样的方式进行排序。C代码#include "stdio.h"void array_print(int a[],int n );void sort_quick(int a[],int start,int end);int partition(int a[], int start,int end)原创 2014-11-27 22:26:02 · 460 阅读 · 0 评论 -
【算法学习】排序算法-合并排序
思想:将有序表合并为一个大的有序表,有序表的规模一次为1,2,4,... C代码#include "stdio.h"#include "stdlib.h"void array_print(int a[],int n );void sort_merge(int a[],int n);int merge(int a[],int temp[],int start,int len,原创 2014-11-28 23:39:17 · 591 阅读 · 1 评论 -
【算法学习】排序算法 - 简单选择排序
思想:每次选择最大的数,放置到当前的最后位置C语言代码#includevoid array_printf(int a[],int n);void sort_simple_select(int a[],int n); int main(int argc, char const *argv[]){ int i,a[5] = {5,4,3,2,10}; sort_simple_s原创 2014-11-25 21:50:13 · 430 阅读 · 0 评论 -
【算法学习】排序算法-冒泡排序
思想:相邻两数进行比较交换,从0位开始,每次会把最大值“冒泡”到当前最高位部分,如果不再冒泡(没有交换),则说明有序C语言代码#includevoid array_printf(int a[],int n);void sort_bubble(int a[],int n); int main(int argc, char const *argv[]){ int i,a[5]原创 2014-11-25 22:20:22 · 447 阅读 · 0 评论