
排序
Layne...
遇事不决,可问春风
展开
-
实验六:排序
1.简单选择排序 2.直接插入排序3.冒泡排序 4.希尔排序5.快速排序 6.堆排序7.折半插入排序#include<bits/stdc++.h>#define MAXSIZE 100using namespace std;typedef struct{ int *elem; int len;}SqList;void menu()///菜单{...原创 2020-01-12 17:22:44 · 441 阅读 · 0 评论 -
求逆序对(归并排序 / 树状数组)
逆序对: 对于给定的一段正整数序列,逆序对就是序列中 ai > aj 且 i < j 的有序对。(逆序数的求法至少有三种:枚举法、分治法、树状数组。下面说说分治法。。。)树状数组的做法以及离散化等内容见洛谷题解:P1908 逆序对 题解归并排序解法(分治法):归并排序(merge sort)是建立在归并操作上的一种有效的排序算法。 该算法是采用分治法(Divide and C...原创 2019-03-23 19:37:03 · 615 阅读 · 0 评论 -
排序算法
原创链接:让你一看就懂的排序算法(就是这么简单) 0、算法概述0.1 算法分类十种常见排序算法可以分为两大类:非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间...转载 2019-03-09 00:09:12 · 135 阅读 · 0 评论 -
STL的sort排序
sort排序:///#include&amp;amp;lt;bits/stdc++.h&amp;amp;gt;///万能文件头#include&amp;amp;lt;stdio.h&amp;amp;gt;///#include &amp;amp;lt;iostream&amp;amp;gt;///用greater需要这个文件头#include&amp;amp;lt;algorithm&a原创 2019-05-01 15:21:31 · 406 阅读 · 0 评论 -
排序算法总结(java)
白话经典算法系列之二 直接插入排序的三种实现#include<stdio.h>void Insert_sort(int a[],int n){ for(int i=1;i<n;i++){ for(int j=i-1;j>=0;j--){ if(a[j]<a[j+1]){ a[j]=...原创 2019-04-01 10:11:28 · 576 阅读 · 0 评论 -
一道部分排序题
题目:(时间限制:4000MS)给你n个整数,请按从大到小的顺序输出其中前m大的数。Input每组测试数据有两行,第一行有两个数 n, m ( 0 < n, m < 4000000 );第二行包含n个各不相同,且都处于区间[-2000000,2000000]的整数。Output对每组测试数据按从大到小的顺序输出前m大的数。Sample Input5 33 -35 92 ...原创 2019-04-19 20:52:25 · 398 阅读 · 0 评论 -
堆排 / 快排 / 冒泡及其优化(C/C++)
来自《啊哈!算法》从小到大排序(建立最大堆)#include<stdio.h>int h[100005];///用来存放堆的数组int n,m;///n用来存储堆中元素的个数,也就是堆的大小///交换函数,用来交换堆中的两个元素的值void swap(int x,int y){ int t; t=h[x]; h[x]=h[y]; h[y]...原创 2019-05-05 17:24:03 · 139 阅读 · 0 评论