![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
排序
文章平均质量分 70
排序
Wonder-King
有好奇心,什么都想学一点。
展开
-
What‘s 稳定的排序
什么是“稳定”?稳定是针对排序的一种分类方式。稳定排序:插入排序,基数排序,归并排序,冒泡排序,计数排序不稳定排序:快速排序,希尔排序,简单选择排序,堆排序排序C代码那么稳定的排序到底是什么呢?我把稳定理解为:先到者优势比如在高中的时候,每次考完试都会在班门口贴出一张成绩排名表,成绩越高,排名越靠前。但是难免有时候会有成绩一样的两个同学,张三和李四都是98分,一个第8名,一个第9名。那么到底是张三第8名还是李四第8名呢?其实这和输入成绩的顺序有关。我们把成绩输入原创 2021-08-16 14:52:04 · 263 阅读 · 0 评论 -
51Nod1019 逆序数(归并排序详解)
逆序对给定一个1-N的排列A1, A2, ... AN,如果Ai和Aj满足i < j且Ai > Aj,我们就称(Ai, Aj)是一个逆序对。 求A1, A2 ... AN中所有逆序对的数目。input 第一行包含一个整数N。 第二行包含N个两两不同整数A1, A2, ... AN。(1 <= Ai <= N) 对于60%的数据 1 <...原创 2018-07-11 11:32:46 · 1156 阅读 · 0 评论 -
浅谈简单的5种排序
简单的排序有5种:直接插入排序,直接选择排序,冒泡排序,快速排序,归并。排序的稳定性:比如aa 对应10,bb对应20,cc对应20,dd对应30.如果对数组降序排序,用稳定的算法排列后的字母顺序应该为dd,bb,cc,aa,而不是dd,cc,bb,aa直接插入排序:需要两个数组操作,在一个无序的数组中,按顺序每次选一个数,向另一个数组插入到正确的位置。这种排序是稳定的。最差时间复杂度O(n^2)...原创 2018-07-14 12:26:10 · 766 阅读 · 0 评论 -
HDU 1106 排序
排序输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数就是0)。你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。Input输入包含多组测试用例,每组输入数据只有一行数字(数字之间没有空格),这行数字的长度不大于1000。...原创 2018-08-13 11:46:24 · 127 阅读 · 0 评论 -
51Nod1097 拼成最小的数(技巧排序)
排序规则:两个字符串a,b。如果ab<ba 那就a在b之前。比如a=312,b=31.31231<31312所以312在31之前。排完序就是按照规则输出就行了。#include<iostream>#include<algorithm>#include<cstring>#include<cmath>#i...原创 2018-12-22 17:38:05 · 196 阅读 · 0 评论 -
两个有序单链表的合并(二路归并)
第一种算法:用Lc指向合并后的新表。pa,pb,pc分别作为La,Lb,Lc的工作指针,pa,pb初始化分别指向两个有序链表的第一个元素,pc初始化指向La。从第一个指针开始比较,哪个元素小,就接在Lc后面,如果两个元素相当,就把一个链表接在后面,删除另一个链表的那个元素,这样确保合并后的表内无重复元素。当一个表到达表尾结点为空时,将非空的表接在Lc表后面。#include"linkl...原创 2019-01-12 18:54:39 · 9169 阅读 · 1 评论 -
HDU1234 开门人和关门人
开门人和关门人Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 20982Accepted Submission(s): 10545Problem Description每天第一个到机房的人要把门打开,最后一个离开的...原创 2019-03-15 12:13:57 · 174 阅读 · 0 评论