算法(C语言版)
算法的五个基本特性分别是:输入、输出、有穷性、确定性和可行性,但这些定义都不重要,重要的是,能学会算法中的优秀思想,会运用算法思想解决实际的问题
云疏不知数
一个人知道自己为了什么而活,他就能够忍受任何一种生活----尼采
展开
-
10.归并排序(二路归并排序)
基本思想:归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并排序的方法#pragma once//归并排序(二路归并排序) 逺void _Mer...原创 2020-02-10 18:52:21 · 1740 阅读 · 0 评论 -
7.简单选择排序(选择排序)
选择排序思想是先想象有一个有续集(最开时是空集),经过一次次循环,每次拿出后面所有剩余元素的最小元素放入到前面有续集中并保证有续集任然有序,直到所有的元素都放入为止选择排序的方法void selectSort_(DATA_TYPE* ar, int left, int right);void selectSort(Seqlist* sq){ selectSort_(sq->...原创 2020-02-09 21:36:10 · 343 阅读 · 0 评论 -
5.冒泡排序(交换排序)
冒泡排序思想有多少个数就循环多少次,每次将最大数据元素放到数组末尾并且每一趟末尾少一,因为上一次的最大元素必然比这一次的最大元素小,直到所有元素都满足这种关系,便排完了冒泡排序的方法头文件//冒泡排序void bubbleSort_(DATA_TYPE* ar, int left, int right);void bubbleSort(Seqlist* sq){ bubbleS...原创 2020-02-09 21:35:35 · 217 阅读 · 1 评论 -
1.直接插入排序(插入排序)
直接插入排序(Straight Insertion Sort)是一种最简单的排序方法,它的基本操作是将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1的有序表。排序过程如下:(参考自严蔚敏的数据结构(c语言版))思想是第一次将第一个元素当作有序组,每次后面的元素插入到有序组中使其任然有序,不断的扩大有序组,当所有元素都插入完成后,那么整体数组就是有序的直接插入排序的方法...原创 2020-02-09 21:34:52 · 673 阅读 · 0 评论