
C++
_um_
time will tell
展开
-
计数排序
计数排序的特征当输入的元素是 n 个 0 到 k 之间的整数时,它的运行时间是 Θ(n + k)。计数排序不是比较排序,排序的速度快于任何比较排序算法。由于用来计数的数组C的长度取决于待排序数组中数据的范围(等于待排序数组的最大值与最小值的差加上1),这使得计数排序对于数据范围很大的数组,需要大量时间和内存。例如:计数排序是用来排序0到100之间的数字的最好的算法,但是它不适合按字母顺序排序人名。但是,计数排序可以用在基数排序中的算法来排序数据范围很大的数组。通俗地理解,例如有 10 个年龄不同的.原创 2021-04-23 16:19:20 · 125 阅读 · 0 评论 -
组成一个最大的多位整数
题目描述设有n个正整数,将他们连接成一排,组成一个最大的多位整数。如:n=3时,3个整数13,312,343,连成的最大整数为34331213。如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。输入描述:有多组测试样例,每组测试样例包含两行,第一行为一个整数N(N<=100),第二行包含N个数(每个数不超过1000,空格分开)。输出描述:每组数据输出一个表示最大的整数————————————————版权声明:本文为优快云博主「每日一小步」的原创文章,遵循C原创 2021-04-23 13:39:06 · 441 阅读 · 0 评论 -
快速排序的另一个版本
今天在看算法导论的时候,被这本书简洁的快排大的代码深深的折服,所以现在就让我来总结一下吧。说明:限于本人才疏学浅,所以要是有错误请多多包涵,不要拿高标准来要求我哈首先在之前我写过一个版本的快排了,但是那个不是特别的简洁,有兴趣的朋友可以去看我的“排序算法总结”。和上个版本一样,同样用到了分治的思想,但是,这个代码的不同之处就在于partation的部分,话不多说,先上代码int partation(int a[], int low, int high){ int x = a[high];//主元元原创 2021-04-23 13:37:08 · 111 阅读 · 0 评论 -
旅行家的预算
题目描述一个旅行家想驾驶汽车以最少的费用从一个城市到另一个城市(假设出发时油箱是空的)。给定两个城市之间的距离D1、汽车油箱的容量C(以升为单位)、每升汽油能行驶的距离D2、出发点每升汽油价格PP和沿途油站数N(N可以为零),油站ii离出发点的距离Di、每升汽油价格Pi(i=1,2,…,Ni=1,2,…,N)。计算结果四舍五入至小数点后两位。如果无法到达目的地,则输出“No Solution”。输入格式第一行,D1,C,D2,P,N。接下来有N行。第i+1行,两个数字,油站i离出发点的距离Di和每原创 2021-04-17 21:27:47 · 131 阅读 · 0 评论 -
C++实现排序问题
冒泡题目描述在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转。一个车站的职工发现桥的长度最多能容纳两节车厢,如果将桥旋转180180度,则可以把相邻两节车厢的位置交换,用这种方法可以重新排列车厢的顺序。于是他就负责用这座桥将进站的车厢按车厢号从小到大排列。他退休后,火车站决定将这一工作自动化,其中一项重要的工作是编一个程序,输入初始的车厢顺序,计算最少用多少步就能将车厢排序。输入格式共两行。第一行是车厢总数N( \le 10000)N(≤10000)。第二行是NN个不同的数表示初原创 2021-04-10 23:23:53 · 217 阅读 · 0 评论 -
对字符串进行去重操作
#include<iostream>#include<algorithm>#include<random>#include<cmath>using namespace std;int main(){ string str; cout << "请输入一个字符串:"; cin >> str; int len = str.length(); for (int i = 0; i < len; i++) { .原创 2021-04-01 23:24:50 · 179 阅读 · 0 评论