自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 C++中类类型的数组

前些天看到一段以前没见过的类实例化的方式,自己琢磨了一下有了自己的理解。先看看这种实例化的方式:#include<iostream>using namespace std;class A{public: static int b; int a; A(int t=2):a(t){b++;} void print(){cout<<a<&l...

2018-12-29 21:00:10 21159 2

原创 同余式判断等式(C++的实现)

从十进制数的定义来看,任意一十进制数都可以按全展开成N*10^n的形式,而对任意正整数i有:10^i≡1(mod3), 10^i≡1(mod9)所以在判断某个等式(乘法,加法,减法计算)是否成立时,可以将等号两边的十进制数按权展开,再判断等式两边是否模9(或者模3)同余,进而判断等式是否成立。利用这一性质也可以判断某一整数是否能被3或者9整除。对于二进制、十六进制表示的正整数也可...

2018-12-27 22:53:58 1566

原创 单链表的就地逆置(蛮力法思想)

先看一下题目:以单链表做存储结构,写一实现线性表的就地逆置算法两种思路:1、采用头插法新建单链表时,得到的单链表数据域所组成的序列刚好是输入序列的逆序,所以这里的单链表的就地逆置可以考虑头插法实现,即将数据域第一个结点后的结点取出,再将取出的结点插入到头结点之后,重复操作,直至原第一个结点到达最后(next指针为空)2、设置标志位,在结点的数据域添加flag标志。逆置操作其实就是把第i...

2018-12-22 17:57:35 1189

原创 顺序表的就地逆置操作

题目:以顺序表做储存结构,写一实现线性表就地逆置的算法C++实现如下:#include <iostream>using namespace std;class SeqList{public: SeqList(int a[], int n);//初始化顺序表 void Inversion(int n);//就地逆置 void PrintList(int n);//...

2018-12-20 23:13:37 4682

原创 单链表中的删除操作

题目:设单链表以非递减有序列,设计算法实现在单链表中删除值相同的多余结点C++是实现如下:#include <iostream>using namespace std;struct Node{ int data; Node *next;};class LinkList{public: LinkList();//初始化空链表 LinkList(int b...

2018-12-20 22:37:21 4033

原创 队列的入队出队操作(C++循环链表)

队列:只允许在一端进行插入操作,在另一端进行删除操作。允许插入(入队、进队)的一段端称为队尾,允许删除(出队)的一端称为队首(队头)。队列具有先进先出的特点。题目:设计以不带头结点的循环链表表示队列,并且只设置一个指针指向队尾结点,但不设头指针。设计相应的入队和出队操作的算法。C++的实现:#include<iostream>using namespace st...

2018-12-19 23:04:16 5316

原创 二叉树采用顺序存储结构时的前序遍历

题目:一颗具有n个结点的二叉树采用顺序储存结构,编写算法对该二叉树进行前序遍历C++实现如下:#include<iostream>using namespace std;class SeqTree{public: SeqTree(int n) { Creat(n); }//构造二叉树,采用顺序表储存数据 void Creat(int n); void PreOr...

2018-12-19 22:40:56 7940 1

原创 二叉树前序、中序、后序三种遍历(C++)

前序遍历递归算法:void PreOrder(Node *bt)//形参为结构体类型的指针{ if(bt==NULL)return;//递归调用的结束条件 else{ cout<<bt->data;//访问根结点的data值 PreOrder(bt->lchild);//前序递归遍历bt左子树 PreOrder(bt->rchi...

2018-12-18 23:04:57 8970 2

原创 图中以邻接矩阵中两种遍历方法以及删减顶点和边的操作(C++)

图的广度优先遍历:从图中某顶点v出发进行广度优先遍历的基本思想是:(1)访问顶点v;(2)依次访问v的各个未被访问的邻接点,v1,v2,v3……,vk;(3)分别从v1,v2,……,vk出发依次访问它们未被访问的邻接点,并使“先被访问顶点的邻接点”先于“后被访问顶点的邻接点”被访问。直至图中所有与顶点v有路径相通的顶点都被访问到。广度优先遍历图是以顶点v为起始点,由近至远,依次...

2018-12-18 22:13:42 4707

原创 C++实现简单批处理文件的生成

批处理文件(百度百科)这里用到的是一个计时关机指令:shutdown -s /t 300(这里倒计时300秒)#include&lt;fstream&gt;#include&lt;iostream&gt;using namespace std;int main(){ char name[]="d:\\funny.bat", something[]="shutdown -s /t...

2018-12-15 19:14:04 2141

原创 顺序查找C++实现(哨兵设置在数组下标高端)

设置“哨兵”,哨兵就是待查值,将它放在查找方向的“尽头”处,免去了在查找过程中每一次比较后都要判断查找位置是否越界,从而提高查找速度。顺序查找伪代码描述如下:1、设置哨兵;2、初始化查找的起始下标i=n;3、若r[i]与k相等,则返回当前i的值;否则,继续比较前一个记录;c++实现如下:#include <iostream>using namespace...

2018-12-15 19:00:05 5974 3

原创 直接插入法排序(c++单链表的实现)

具体排序过程是;1、将整个记录序列划分为有序区和无序区,初始时有序区为待排序记录中第一个记录,无序区包括所有剩余待排序的记录。2、将无序区的第一个记录插入到有序区的合适位置中,从而使无序区减少一个记录,有序区增加一个记录。3、不断重复2,直到无序区只剩下一个记录为止。#include <iostream>using namespace std;const in...

2018-12-14 22:45:45 5166 2

原创 简单选择排序(C++单链表实现)

具体实现过程为:1、将整个记录序列划分为有序区和无序区,初始时有序区为空,无序区含有待排序所有记录。2、在无序区中选取关键码最小记录,将它与无序区中的第一个记录交换,使得有序区扩展了一个记录,同时无序区减少了一个记录。3、不断重复2,直到无序区只剩下一个记录为止。此时所有记录已经按关键码从小到大的顺序排列。c++单链表实现如下:#include<iostream...

2018-12-14 22:36:17 10743 5

原创 单链表实现Eratosthenes筛选法

对于任意正整数N,Eratosthenes筛法可表示如下:第1步,找出小于等于√N的全部素数:p1、p2、p3、…pm。第2步,在1~N中分别划去p1、p2、…pm全部倍数(除了他们自己本身)。第2步完成后剩下的整数除1外就是不超过N的全部素数。简而言之,筛选原理如下:对于一个正整数a<=N,如果素数p1、p2、…、pm(小于等于√N)都不整除a,则a是素数。下面是C++...

2018-12-14 16:05:36 645 1

空空如也

空空如也

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

TA关注的人

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