自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 查找算法:折半查找

折半查找(Binary Search)又称为二分查找,要求数据序列呈线性结构,也就是经过排序的。对于没有排序算法进行预排序,然后执行折半查找算法。首先需要设三个变量low、mid、high,分别保存数组元素的开始,中间和末尾的序号。根据以上算法步骤,可以编写相应的折半查找算法,示例代码如下:int SearchFun(int *a,int n,int target){ int low...

2020-02-29 23:18:45 492

原创 查找算法:顺序查找

顺序查找的算法的程序代码很简单,在c语言中只需要编写一个循环,将数组中各元素依次与待查找的目标数进行比较即可。顺序查找算法的示例代码如下:#include<stdio.h>#include<stdlib.h>#include<time.h>#define N 15int SearchFun(int *a,int n,int target)//a为序列数...

2020-02-28 19:41:10 545

原创 虚函数的应用

使用说明:1.可在任何方法上添加virtual,例:virtual void play();2.继承性:一旦基类中为虚函数,子类将不会为非虚函数3.优缺性:声明虚方法除了使程序慢一点点以外,没有任何缺点因为当我们使用基类的引用或指针调用基类中定义的某个函数时,我们并不知道该函数真正的对象是什么类型(属于哪个类),因为它可能是一个基类的对象,也可能是一个子类的对象下面对一个例子进行举例:...

2020-02-28 00:51:42 533

原创 字符串数组的快速排序

#include<include.h>#include<stdlib.h>#include<time.h>#define N 5void QuickSort(char* [],int left,int right){ int l,r; char *f,*t; l=left; r=right; f=[(left+right)/2];//取中值为...

2020-02-26 13:46:20 454

原创 反序排列

反序排列就是从大到小的顺序对数组进行排序,反序排列实现起来十分方便,只需对一般排序算法稍加修改即可。以插入算法为例,按从大到小的反序插入排序算法进行排序。代码如下:void InsertionSort(int* a,int len){ int i,j,t,h; for(i=1;i<len;i++) { t=a[i];//待插入的数据 j=i-1;//准备插入的位置 w...

2020-02-24 19:19:01 1122

原创 堆排序法

就是不断维护一个大根堆,让每个结点都不小于其子节点,此时根节点必然是所有数字中最大的。然后,我们只需要将第一个与最后一个数字交换位置,就可将最大的数移动到数组的最后,然后再将数组前n-1个元素继续维护成大根堆,再将根节点与第n-1个元素交换位置,此时第n-1与第n个元素都已经按照升序排好了。我们只需要不断重复上述步骤,直到所有元素按照升序排好。void adjust(int a[],int i,...

2020-02-20 20:20:02 140

原创 C++华氏温度和摄氏温度的转换

#include<iostream>using namespace std;void convertTemperture(double tempIn,char typeIn);int main(){ double tempIn; char typeIn; cout<<"请以[xx.x C]或[xx.x F]的形式输入温度:"; cin>>te...

2020-02-19 01:02:04 7864

原创 C++快速排序

#include<iostream>using namespace std;void quickSort(int a[],int,int);int main(){ int array[]={34,65,12,43,67,5,78,10,3,70},k; int len=sizeof(array)/sizeof(int); cout<<"The orginal...

2020-02-18 22:57:57 107

原创 Shell排序算法

Shell排序算法严格来说是基于插入思想,又称为希尔排序或缩小增量排序。Shell排序算法的排序流程如下:(1)将有n个元素的数组分成n/2个数字序列,第1个数据和第n/2+1个数据为一对,等等,以此类推。(2)一次循环使每一个序列对排好顺序。(3)变为n/4个序列,再次排序。(4)不断重复上述过程,随之序列减少直至最后变为1个,完成整个排序。void ShellSort(int *a,...

2020-02-18 21:46:23 919

原创 选择排序算法and插入排序法

选择排序通过选择和交换来实现排序,其排序基本流程如下:(1)首先从原始数组中选择最小的数据,将其和位于第一个位置的数据交换。(2)从剩下的n-1各数据中选择次小的一个元素,将其和位于第二个位置的数据交换。(3)这样不断重读,直到最后两个数据完成交换。最后,完成对原始数组从小到大的排序。void SelectionSort(int* a,int len){ int i,j,k,h; i...

2020-02-17 21:21:48 164

原创 冒泡排序法

冒泡排序算法通过多次比较和交换来实现排序,其排序流程如下:(1)对数组中的各数据,依次比较相邻的两个元素大小。(2)如果前面的数据大于后面的数据,就交换这两个的数据。经过第一轮的多次比较排序之后,便可把最小的数据排好。(3)再用同样的方法把剩下的数据逐个进行比较,最后便可按照从小到大的顺序排好数组中各数据的顺序。void BubbleSort(int *a,int len){ int ...

2020-02-16 22:13:59 118

原创 蒙特卡罗算法计算圆周率π

(1)均匀撒点:在C语言中可以使用随机函数来实现,产生【0,1】之间的随机坐标【x,y】。(2)区域判断:图中阴影部分的特点是距离坐标原点的距离小于等于1,这样,可以通过计算判断x2+y2<=1来实现。#include<stdio.h>#include<time.h>#include<stdlib.h>double MontePI(int n)...

2020-02-16 20:21:47 817 1

原创 关于ungetc(ch,stdin)用法

要求用户输入一串整数和任意数目的空格,这些整数必须位于同一行中,但允许出现该行中任一位置。当用户按enter键时退出程序。程序自动对输入的数字进行求和。#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>int main(){ int i = 0; int sum = 0;...

2020-02-15 23:32:49 1468

原创 分治算法示例

通过一个例子来介绍分治算法的应用。一个袋子里有30枚银币,其中一枚银币为假,并且假银币和真银币一模一样,肉眼很难分辨,目前只知道假银币比真银币重量轻一点。请问如何找出假银币?首先来分析一下寻找假银币的问题,可以采用递归分治的思想来求解这个问题,操作如下:(1)首先为每个银币编号,然后将所有的银币等分为两份,放在天平的两边。这样就将区分30个银币的问题变为区分两堆银币的问题。(2)因为假银币的...

2020-02-15 20:20:04 660

原创 二叉树结构

二叉树准备数据#define MAXLEN 20//最大长度typedef char DATA;//定义元素类型typedef struct CBT//定义二叉树结点类型{ DATA data;//元素数据 struct CBT* left;//左子树结点指针 struct CBT* right;//右子树结点指针}CBTType;初始化二叉树CBTType* InitTre...

2020-02-12 13:00:09 161

原创 队列结构

队列结构中允许堆两端进行操作,但是两端的操作不同。在表的一端只能进行删除操作,称为队头;在表的另一端只能进行插入操作,称为队尾。如果队列中没有元素,称为空队列。(先进先出)入队列:将一个元素添加到队尾(相当于到队列最后排队等候)出队列:将队头的元素取出,同时删除该元素,使后一个元素成为队头。准备数据#define QUWUWLEN 15struct DATA{ char name[1...

2020-02-10 20:21:24 363

原创 栈结构

准备数据在栈结构中,只有栈顶元素是可以访问的,栈结构的数据运算也非常简单。一般栈结构的基本操作只有两个。(1)入栈Push:将数据保存到栈顶的操作。进行入栈操作之前,先修改栈顶指针,使其向上移动一个元素位置,然后将数据保存到栈顶指针所指的位置。(2)出栈Pop:将栈顶数据弹出的操作。通过修改栈顶指针,使其指向栈中的下一个元素。#define MAXLEN 50struct DATA{...

2020-02-09 18:54:25 134

原创 链表中常用的模块

链表中一些常用的模块简单分为以下几点:追加节点、插入头节点、查找结点、插入节点、删除结点、链表长度、打印所以结点。准备数据:struct Data{ char name[20]; char key[10]; int age;};typedef struct Node{ Data nodeData; struct Node*nextNode;}CLType;追加节点...

2020-02-07 14:48:07 173

winhlp32.exe压缩包(内含install.cmd)

打开Delphi7按F1测试,不能正常使用,原因是f1键冲突,使用install.cmd修复(windows10)

2022-07-26

HEVC测试序列链接.txt

HEVC原始视频测试序列百度云盘资料

2021-04-19

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除