- 博客(7)
- 资源 (2)
- 收藏
- 关注
原创 单链表排序
算法思想:采用直接插入排序算法的思想,先构成只含一个数据结点的有序单链表,然后一次扫描剩下的结点p(直至p==NULL为止),在有序表中通过比较查找插入p的前驱结点pre,然后将p插入到*pre之后核心代码void Sort(LinkList *L){ LinkList *p,*r,*pre; p=L->next; r = p->next; //保持r是p的后继结点,以保...
2018-10-09 21:58:51 1827
原创 堆排序之大顶堆
对于具有n个元素的序列,采用堆积排序方法需要进行n-1趟排序才能达到目的#include <stdio.h>void ADJUST(int a[],int i,int n){ a[0] = a[i]; for (int j = 2*i;j<=n;j*=2) //层层向下遍历,找到比自己大的孩子节点, //替换自己,最后把头结点也就是最大值,放到尾部a[i](数组末尾)...
2018-10-06 10:22:08 348
原创 快速排序
快排是对冒泡排序的一种改进,是目前认为最好的内排序算法之一。核心思想:在当前排序的序列(ks,ks+1,…,kt)中任意选择一个元素作为分界元素或者基准元素,把小于或等于分界元素的所有元素都移到分界元素前面,把大于或等于的所有元素移到分界元素后边。这样,分界元素正好处在排序的最终位置上,并且把当前排序的序列划分成前后两个子序列(前一个子序列中所有元素都小于或等于分界元素,后一个子序列中的元素都...
2018-10-05 10:55:24 258
原创 希尔排序
flag = 0 说明对各子序列排序时都无元素交换的动作flag = 1 说明对各子序列排序时有元素交换的动作#include &lt;stdio.h&gt;#include &lt;string.h&gt;void SHELL_SORT(int key[],int n){ int gap = n; while(gap&gt;1){ gap = gap/2; int fla...
2018-10-05 10:00:39 240
转载 折半插入排序
插入的基本思想①每次插入,都从前面的有序子表中查找出待插入元素应该被插入的位置; ②给插入位置腾出空间,将待插入元素复制到表中的插入位置。 注意到该算法中,总是边比较边移动元素,下面将比较和移动操作分离开来,即先折半查找出元素的待插入位置,然后再同意地移动待插入位置之后的所有元素。当排序表为顺序存储的线性表时,可以对直接插入排序算法作如下改进:由于是顺序存储的线性表,所以查找有序子表时可...
2018-10-04 21:52:59 1455
原创 插入排序
第一个元素看成一个长度为1按值有序的子序列,然后只要一次从第二个元素开始逐个把其余的n-1个元素插入到某个按值有序的子序列中就可以了。#include <stdio.h>int main(){ int n,K[101]; printf("要输n的个数:\n"); scanf("%d",&n); printf("请输入%d个数值",n); for (int i...
2018-10-04 21:30:57 191
转载 2019何凯文五夜十篇
2019 考研英语五夜十篇讲义主讲人:何凯文目录英语一: 1第一篇:新闻媒体 1第二篇:新闻媒体 3第三篇:科学研究 5第四篇:科学研究 7第五篇:美国法律 9第六篇:美国法律 11第七篇:美国文化 13第八篇:美国教育 15第九篇:英国政治 17第十篇:数据监管 19英语二: 21第一篇:办公语言 21第二篇:独立董事 23第三篇:美国报业 25第四篇:手机使...
2018-10-04 15:22:56 11577 2
glove.6B.100d.txt
2020-05-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人