C++
Dxy17
welcome:future
展开
-
QT中如何在一个界面中调用另一个界面(用代码定义的一个类)外观及其功能
在当前界面所在的代码中调用另一个类(代码写的界面及其相应的功能)1.include其头文件2.假设另一个界面类叫做MyWidget。MyWidget* pageWidget = new MyWidget();pageWidget->show();原创 2021-04-13 17:49:23 · 2959 阅读 · 2 评论 -
error LNK2019: 无法解析的外部符号 “public: __cdecl IGSConfigSetFrm::IGSConfigSetFrm(class QWidget *)“
问题定义:在一个工程中定义了一个类A.cpp和A.h,如果想在外部使用,则必须在A.h中的构造函数中添加一个宏。class IGSConfigSetFrm : public QWidget{ Q_OBJECT //下面是具体的代码}//如果想要在外部使用,则需要添加一个宏,应改为如下所示class IGS_CYBERRAY_API IGSConfigSetFrm : public QWidget//此处的宏是IGS_CYBERRAY_API { //下面是具体原创 2021-03-02 17:44:45 · 440 阅读 · 0 评论 -
字符串压缩,字符串个数按出现顺序输出,字符串按字典序输出
题目意思是对字符串进行压缩如:input: aacd,aacdaoutput: a2cd, a2cda#include<iostream>#include<string>using namespace std;void get_zipstr(string s){ int len = s.size(); int i = 0, j, n...原创 2019-10-14 15:22:18 · 715 阅读 · 0 评论 -
堆排序
void adjust(vector<int> &arr, int len, int index){ // 递归方式构建大根堆(len是arr的长度,index是第一个非叶子节点的下标) int left = 2*index+1;// index的左子节点 int right = 2*index+2;// index的右子节点 int maxIdx = index; ...原创 2019-10-02 17:40:47 · 110 阅读 · 0 评论 -
归并排序
void merge(vector<int> &data, int start, int mid, int end)//将两个有序数组data[start,..mid]和data[mid+1,..,end]合并{ //int *temp=new(nothrow) int[end-start+1]; //if(!temp) //{ //内存分配失败 // cout&l...原创 2019-10-02 17:39:30 · 101 阅读 · 0 评论 -
插入排序(C++实现)
插入排序包括:直接插入、折半插入、2-路插入、等。直接插入排序的思想是:将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1的有序表(注意这里有移位操作,所以时间复杂度较大为o(n*n)#include<iostream>#include<vector>#include<algorithm>using namespace std;...原创 2019-09-03 16:42:50 · 388 阅读 · 0 评论 -
快速排序(C++实现)
快速排序是对冒泡排序的改进:基本思想是:通过一趟排序使待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则分别对这两部分记录进行排序,以达到整个序列有序。第一趟排序是:任选一个记录作为枢轴(通常是第一个元素),附设两个指针(或者变量)为low,high,先从high的位置开始向前搜索直到找到第一个小于枢轴记录的关键字,将其和枢轴所在的位置进行交换,然后从low的位置...原创 2019-09-03 11:42:08 · 6485 阅读 · 1 评论 -
冒泡排序(C++实现)
冒泡排序过程:首先将第一个关键字和第二个关键字进行比较,若为逆序则将两个记录交换,然后比较第二个记录和第三个记录,依次类推,知道第n-1个记录和第n个记录的关键字进行比较为止。此过程称为第一趟起泡排序,其结果为使得关键字最大的记录被安置到最后一个记录的位置,然后进行第二趟排序。例如:输入:49 38 65 97 76 13 27一趟结束后为:38 49 65 76 13 27 97...原创 2019-09-03 10:15:20 · 11630 阅读 · 1 评论 -
leetcode48. Rotate Image
You are given annxn2D matrix representing an image.Rotate the image by 90 degrees (clockwise).Note:You have to rotate the imagein-place, which means you have to modify the input 2D matrix d...原创 2019-09-02 21:58:37 · 105 阅读 · 0 评论 -
LeetCode47 Permutations II
Given a collection of numbers that might contain duplicates, return all possible unique permutations.此题和上一道46的差别在于此题中给出的有重复的数字因为next_permutation求解的是下一个全排列,因此不会出现重复的现象#include<iostream>...原创 2019-09-02 21:10:45 · 150 阅读 · 0 评论 -
leetcode46 permutations
此题是求的数字全排列可以借助于C++中的#<algorithm>中的next_permutation(计算下一个的全排列)#include<iostream>#include<vector>#include<algorithm>using namespace std;vector<vector<int>> ...原创 2019-09-02 20:49:05 · 138 阅读 · 0 评论 -
字符串包含
题目描述:给定两个分别由字母组成的字符串A和字符串B,字符串B的长度比字符串A短。请问,如何最快地判断字符串B中所有字母是否都在字符串A里?实现函数bool StringContains(string &A, string &B)比如,如果是下面两个字符串:String 1:ABCDString 2:BAD答案是true,即String2里的字母在Strin...原创 2019-08-12 22:32:05 · 116 阅读 · 0 评论 -
字符串的反转
C++中有关字符串的输入:(1)string s;while(getline(cin,s)//此时输入的空格计算在字符串内{ int len = s.length();//求输入的字符串的长度}(2)char s[50];while(cin.getline(s,50)){ int len = strlen(s);}(3)vector<...原创 2019-08-10 22:34:20 · 358 阅读 · 0 评论 -
0交换排序
一个长度为n的整型数组,乱序存放0至n-1,要求只能交换0和其中的一个数首先定义一个数组pos记录第i个值在原数组array中的位置,然后从1开始遍历array,如果位置不对就与0交换void swapsort(vector<int> &array, int length){ vector<int> pos(length); for (i...原创 2019-08-14 15:34:39 · 349 阅读 · 0 评论