
C++学习
打不死的黄妖精
这个作者很懒,什么都没留下…
展开
-
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 · 701 阅读 · 0 评论 -
C++中stable_sort和sort的区别
stable_sort的用法与sort一致,区别是stable_sort函数遇到两个数相等时,不对其交换顺序;这个应用在数组里面不受影响,当函数参数传入的是结构体时,会发现两者之间的明显区别;查找和排序题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩都按先录入排列在前的规则处理。例示:jack70peter96Tom70smith67从高到低成绩...转载 2020-06-26 13:22:48 · 763 阅读 · 0 评论 -
C++ 中STL中的for_each()、find_if函数
与STL对应的有很多算法,《c++ primer》中叫做泛型算法,比如常用的find(),find_if(),accumulate()等,均为泛型算法。以下针对for_each()、find_if函数的使用进行相应的介绍。目录for_each()用法find_if()用法一、for_each():for_each的原型声明如下template Function for_each (InputIterator first,InputIterator last, Function .转载 2020-06-26 12:34:30 · 867 阅读 · 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输入127 55 8 10 3 6 10原创 2020-06-25 21:09:35 · 399 阅读 · 0 评论 -
算法和数据结构之——归并排序
归并排序(Merge Sort)和选择排序一样,归并排序的性能不受输入数据的影响,但表现比选择排序好的多,因为始终都是O(n log n)的时间复杂度。代价是需要额外的内存空间。归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序是一种稳定的排序方法。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。//step2:从下往上归并void原创 2020-06-24 19:55:24 · 127 阅读 · 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 · 223 阅读 · 0 评论 -
C++中static用法总结
1)C 语言的 static 关键字有三种:1.静态局部变量;2.静态全局变量;3.静态函数(注:对应于上面图片,static修饰普通变量分为静态局部和静态全局两种。静态全局变量和静态函数的作用类似,均只在本文件内可见,不能为其他文件所用,故其实也可以将静态全局变量和静态函数作为一类,而静态局部变量为另一类。)2)C++ 语言的 static 关键字新增两种:4.静态数据成员;5.静态成员函数。#重要知识点#1) 静态局部变量的特点:1.该变量在全局数据区分配内存(局部变量在栈区分原创 2020-05-19 14:42:41 · 1980 阅读 · 0 评论 -
Qt中模态对话框和非模态对话框比较
模态对话框的两种方式1.窗口模态对话框:只能阻止与对话框关联(它的父窗口、所有祖父窗口,以及父窗口和父窗口的所有兄弟姐妹)的窗口的访问,允许用户在应用程序中继续使用其他窗口。2.应用模态对话框:阻止应用程序的所有窗口输入。1.程序如下:main.cpp#include "modelwidget.h"#include "qdialog.h"#include "qdebug.h"#include <QtWidgets/QApplication>int main(int arg.原创 2020-05-18 20:32:30 · 494 阅读 · 0 评论 -
使用迭代和递归测试代码的执行时间(斐波那契数列)
在学习斐波那契数列的过程中,使用了迭代和递归这两种方法来实现。感觉使用递归确实很方便,代码也很简单,但是通过对程序进行检测分析后发现,使用递归的程序的运行时间大大不如迭代,迭代几毫秒就能解决的事,递归耗费大量的时间却还迟迟还算不出来。综合分析,慎用递归!!!test1:使用迭代来显示斐波那契数列int main(){ int i; int a[30]; printf("迭代显示斐波那契...原创 2020-04-18 11:35:55 · 1056 阅读 · 1 评论 -
VS2013中设置窗口标题遇到的问题
最近学习在VS2013中使用Qt的时候,遇到了很多奇葩的问题,先把今天遇到的问题总结一下吧。首先,在给窗口设置标题的时候,我一开始程序用中英文结合,如下setWindowTitle(QString("第1窗口"));结果一运行傻眼了,中文出现乱码的情况,但假如我将程序改为下面的情况:setWindowTitle(QString("第一窗口"));此时窗口能正常显示!我再用下面一种方式,...原创 2019-10-16 10:36:20 · 1076 阅读 · 0 评论