数据结构和算法
打不死的黄妖精
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++中lambda 表达式、unique()、stable_sort()、find_if()、find_each()的综合使用
问题:在vector<string>找出所有长度大于等于4的元素。 方法如下: #include <iostream> #include <array> #include <vector> #include <algorithm> #include <list> #include <deque> #include <numeric> #include <forward_list> usin..转载 2020-06-26 14:15:52 · 738 阅读 · 0 评论 -
C++中stable_sort和sort的区别
stable_sort的用法与sort一致,区别是stable_sort函数遇到两个数相等时,不对其交换顺序;这个应用在数组里面不受影响,当函数参数传入的是结构体时,会发现两者之间的明显区别; 查找和排序 题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 例示: jack70 peter96 Tom70 smith67 从高到低成绩...转载 2020-06-26 13:22:48 · 798 阅读 · 0 评论 -
腾讯2020秋招笔试真题——4.求最小非零元素
【题目描述】Q哥给了小Q一个长度为n正整数序列ai。 Q哥要求小Q重复以下操作步骤k轮: 1、发现最小的非零元素x。 2、打印x。 3、将序列中所有非零元素减x。 小Q把这个艰巨的任务交给了你,希望你能帮帮他。 输入描述 输入包括两行。 第一行包括两个正整数n和k(1<=n,k<=105)。 第二行包括n个正整数ai(1<=ai<=109)。 输出描述 输出k行,即每轮中的最小非零整数(如果到某轮所有元素都是0,打印0即可)。 示例1 输入 1 2 7 5 5 8 10 3 6 10原创 2020-06-25 21:09:35 · 416 阅读 · 0 评论 -
算法和数据结构之——归并排序
归并排序(Merge Sort) 和选择排序一样,归并排序的性能不受输入数据的影响,但表现比选择排序好的多,因为始终都是O(n log n)的时间复杂度。代价是需要额外的内存空间。归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序是一种稳定的排序方法。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。 //step2:从下往上归并 void原创 2020-06-24 19:55:24 · 151 阅读 · 0 评论 -
算法和数据结构之——对链表进行插入排序
插入排序一般分为两种,对数组进行插入排序和对链表进行插入排序,对数组进行插入排序比较简单,其代码如下: //对数组进行插入排序 void insertSort(vector<int> nums){ for (int i = 0; i < nums.size(); i++){ for (int j = i; j>0; j--){ if (nums[j] < nums[j - 1]){ int temp = nums[j]; nums[j] = nums原创 2020-06-24 15:05:42 · 262 阅读 · 0 评论
分享