
c语言
文章平均质量分 62
XIE_QAID
java后端
展开
-
linux opencv4.2静态库编译及链接
如果-DBUILD_opencv_world=ON,所有静态库会集中在一个opencv_world里。这里我们只编译不安装,如果要安装,需要执行make install。为了检查静态库能否正常使用,搭建了简单的cmake测试工程。脚本里配置cmake编译参数,这里编译静态库需要将。可以根据自己的需求打开或关闭对应的开关。如果没有报错就可以了。原创 2023-06-12 11:11:27 · 3526 阅读 · 0 评论 -
使用C++语言统计文件中出现频率排前10的单词
思路:从文件中读出每一行,将字符串中的标点符号替代为空格;使用字符串输入流将字符串里的各个单词赋给单个单词变量;将单词和出现的次数构成映射放入map中;排序: 复制map到vector中,重载>运算符进行排序。代码:#include<iostream>#include<map>#include<vector>#incude<al...原创 2019-07-08 22:09:13 · 1282 阅读 · 0 评论 -
归并排序
归并排序:归并排序的核心是将两个有序的子列合并成一个有序的序列。归并排序的主要方法有递归的归并排序和使用非递归的归并排序。1.递归的归并排序采用分而治之的策略,将一段序列分成两段,分别排序和再进行合并。这排序方法的时间复杂度为O(NlogN),空间复杂度为O(N),我们需要借助一个和待排序序列同等大小的Tmp顺序表,因此这种方法多用于外部排序。合并两个子列:使用分别进行比较,小的放进Tmp...原创 2019-05-06 16:45:14 · 150 阅读 · 0 评论 -
堆排序和简单选择排序
简单选择排序就是每次从i到N-1中选择最小的数,然后放在第i个位置,其算法复杂度为O(N2);堆排序是简单选择排序的改进,通过建立最大堆,每次将最大堆的根节点取出放在最后的位置,然后再重新调整为最大堆,时间复杂度为O(NlogN)。简单排序算法void Select_Sort(SqList *L)/*简单选择排序,算法复杂度为O(N2),不稳定*/{ int postion; f...原创 2019-05-06 11:29:36 · 489 阅读 · 0 评论 -
冒泡排序和快速排序
冒泡排序和快速排序都是以交换位置为基础的排序,快速排序是对冒泡排序的改进。冒泡排序:交换相邻两个元素话不多说直接上代码:void Bubble_Sort(SqList *L)/*冒泡排序*/{ for (size_t p = L->Length-1; p >0; p--) { for (int i = 0; i < p; i++) { if (L-&g...原创 2019-05-04 22:44:15 · 145 阅读 · 0 评论 -
插入排序
**问题:**任意给定一组元素序列,利用直接插入排序、折半插入排序和希尔排序对该序列进行排序分析:插入排序最好可以类比为打扑克牌时,我们摸完牌后再将牌插到合适得位置。主要有几个操作:从未排序的序列里摸一张牌,也就是把未排序的第一张牌取出来;和前面牌完序的牌进行大小比较,如果手里的牌比前面的小,就一直交换位置。直接插入排序void Insertion_sort(SqList *L)...原创 2019-05-04 20:05:09 · 342 阅读 · 0 评论 -
VS2017使用scanf()从键盘读取字符串
vs2017上无法使用scanf()函数,但是提供了scanf函数,在使用scanf()读取二维数组时遇到了以下问题代码:int main(){ char a[10][5]; //定义一个二维数组 scanf_s(“%s",a[1]); //输入一个字符串到第二行 printf(”%s“,a[1]); return 0;}上述代码语法上并没有什么问题,但是执行时报错。解决方法...原创 2019-04-14 10:52:44 · 3334 阅读 · 0 评论 -
数据结构---霍夫曼编码
霍夫曼编码算法的实现从键盘输入字符序列及对应的权重,输出霍夫编码分析:构造树结点,输入带编码字符及对应的权值;在树结点中选择parent = 0, 且权值最小的两个结点构造Huffman树并求出编码代码:#include "pch.h"#include<iostream>#include<cstdio>#include<cstring>...原创 2019-04-12 15:09:35 · 246 阅读 · 0 评论 -
树---二叉树,线索二叉树,中序遍历线索二叉树
问题:创建一个线索二叉树,并将其中进行线索化。任给一个结点找到结点的中序前驱和中序后继。算法分析:第一步创建二叉树结构:根据输入一个广义表来创建二叉树(A(B(D,E(H)),C(F(,I),G))),使用二叉树的链式表示,左右孩子表示法;用一个栈来存“(”后面的字母的指针,遇见“)”回退top–,再等于向top-1的指针遍历广义表字符串,令pre指向树的头结点,开始遍历,遇见“(”...原创 2019-04-08 21:48:32 · 697 阅读 · 0 评论 -
稀疏矩阵---三元组表示的矩阵相加减
问题:设有采用三元组顺序表存储的两个稀疏矩阵M和N,试着编写一个算法,实现M和N相乘:算法:1.头文件:”TriSeqMatrix.h”该文件夹中包含着三元稀疏矩阵的创建、初始化、转置、销毁等操作#pragma once#include <stdio.h>#include<stdlib.h>#define MaxSize 200typedef struc...原创 2019-04-01 20:22:28 · 4702 阅读 · 0 评论 -
清空缓冲区函数fflush(stdin)
清空缓冲区函数fflush(stdin)主要用于从键盘输入以后接下来需要再次从键盘输入并读取字符,因为上次输入以回车结束’,\n’还保留在缓冲区,因此在下一次使用scanf()或者getchar()来读取的话会把‘\n’读入,因此需要清理缓冲区域。但是fflush(stdin)在VC6环境能够正常使用,其他编译器不保证可行,VS2017就用不了。*解决方法可以使用rewind(stdin)函...原创 2019-04-10 22:14:29 · 2681 阅读 · 0 评论 -
数组---数组的基本操作
问题:利用数组的基本运算队数组进行初始化,然后输出数组的值涉及到数组的基本操作:初始化,赋值,定位,销毁等代码:头文件“SeqArray.h"#pragma once#define MaxArraySize 3#include<stdarg.h>#include <stdio.h>#include<stdlib.h>typedef st...原创 2019-03-31 15:18:21 · 342 阅读 · 0 评论 -
串---字符串模式匹配
问题:查找子串在主串中出现的位置算法:Brute-force:从主串中第pos个字符开始与模式串的第一个字符比较,如果相等则继续逐个比较后续字符;否则从主串的下一个字符开始比较,依次类推。KMP:在每一趟出现字符不相等时,不需要退回主串的指针,而是利用已经得到的前面部分匹配的结果,将模式串向右滑动若干个字符后继续与主串的当前字符进行比较。代码:1.顺序串基本操作的头文件:#pra...原创 2019-03-30 20:21:20 · 182 阅读 · 0 评论 -
串---堆串的基本操作
顺序串为静态顺序存储表示,在串的插入,连接过程中如果长度超过了MaxSize就会截掉一部分。因此可以使用动态分配存储表示串头文件#pragma once#include<iostream>#include<stdio.h>#include<stdlib.h>typedef struct{ char *str; int length;} H...原创 2019-03-30 15:25:58 · 1419 阅读 · 0 评论 -
队列——舞伴问题
问题描述:假设舞会上,男女排成一队进入舞厅时各自排成一队,开始跳舞时。依次从男队和女队的队头上各出一人配成舞伴,若两队初始人数不同,则较长的那一队中未配对者等待下一轮舞曲。编写一算法模拟配对问题。算法分析:根据记录创建男队和女队,男女队头依次出队直到有一个队为空,输出剩下的队的人数及队头人代码:头文件:#pragma once#include <stdio.h&g...原创 2019-03-20 19:18:03 · 1887 阅读 · 0 评论 -
链表---两个一元多项式相乘
// PolynMultiplyPolyn.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include "pch.h"#include<stdlib.h>#include<stdio.h>typedef struct polyn{ int expn; float coef; struct polyn * next;...原创 2019-03-14 15:27:47 · 1519 阅读 · 0 评论 -
约瑟夫问题解法。
问题:有n个小朋友,编号反别为:1,2,3,…,,n,按编号围成一个圈,他们按顺时针方向从编号为k的人开始报数,报数为m的人出列,编一个算法,输入n,m,k,按照出列顺序输出编号。分析:(1)创建循环链表(2)找到看第k个小朋友;(3) 报到m的人节点删除;代码:// DoubleLinkedList.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//...原创 2019-03-13 21:39:39 · 654 阅读 · 0 评论 -
数据结构--链表习题
从表a中删除自第i个元素起共len个元素后,将它们插入到表b中第j个元素之前。#include <stdio.h>#include<stdlib.h>typedef int ElemType;struct Student { ElemType data; struct Student *next;} ;typedef struct St...原创 2019-01-25 20:31:44 · 291 阅读 · 0 评论