自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2020第十一届蓝桥杯C++B组省赛第二场试题J题解

问题表示【问题描述】小蓝最近学习了一些排序算法,其中冒泡排序让他印象深刻。在冒泡排序中,每次只能交换相邻的两个元素。小蓝发现,如果对一个字符串中的字符排序,只允许交换相邻的两个字符,则在所有可能的排序方案中,冒泡排序的总交换次数是最少的。例如,对于字符串lan 排序,只需要1 次交换。对于字符串qiao 排序,总共需要4 次交换。小蓝的幸运数字是V,他想找到一个只包含小写英文字母的字符串,对这个串中的字符进行冒泡排序,正好需要V 次交换。请帮助小蓝找一个这样的字符串。如果可能找到多个,请告诉小蓝最短

2021-04-14 22:03:17 674 3

转载 二叉查找树 C++实现(含完整代码)

       一般二叉树的查找是通过遍历整棵二叉树实现,效率较低。二叉查找树是一种特殊的二叉树,可以提高查找的效率。二叉查找树又称为二叉排序树或二叉搜索树。    二叉查找树的定义       二叉排序树(Binary Search Tree)又称二叉排序树(Binary Sort Tree),或者是一颗空二叉树,或者是具有一下特性的二叉树:  若它的左子树不为空,则左子树上的所有结点的值均小于根...

2018-02-11 10:28:56 899

原创 C++实现聊天程序(QQ类型)

服务端#include<iostream>#include<WinSock2.h>#pragma comment(lib,"ws2_32.lib")using namespace std;void initialization();int main(){//定义长度变量 int send_len=0; int recv_len=0; int len=0;...

2018-02-09 20:11:59 15681 16

转载 C++笔试题之String类的实现

这个在面试或笔试的时候常问到或考到。已知类String的原型为:[cpp] view plain copyclass String  {  public:      String(const char *str = NULL);// 普通构造函数        String(const String &other)

2018-02-07 19:53:16 646

原创 string类作为例子详解c++重载>>和<<

#include #includeusing namespace std;class mystring{public: mystring(const char *str = NULL);//普通构造函数 mystring(const mystring &other);//赋值 ~mystring(void); mystring& operator=(const mystring

2018-02-07 19:51:47 628

原创 100行代码用C++基本实现双向链表

需要用到的知识:数据结构--链表 面对对象--类,模板,友元,构造函数和析构函数#include using namespace std;enum booler{Flase,True};template class Tnode{public: friend class Dlist; Tnode(T t); ~Tnode(); void Setvalue(T t); T Ge

2018-02-02 22:59:36 272

转载 c/c++在windows下获取时间和计算时间差的几种方法总结

一、标准C和C++都可用1、获取时间用time_t time( time_t * timer ),计算时间差使用double difftime( time_t timer1, time_t timer0 )。 精确到秒。测试程序如下:[c-sharp] view plain copy#include   #include   int main()  {      t

2018-01-24 22:07:28 585

原创 C++字符串拼接函数stringcat

#include using namespace std;char * stringcat(const char *s1,const char *s2);void main(){ char *c; const char *a = "i love ",*b="you"; c=stringcat(a,b); cout<<c<<endl; delete [] c;}char *

2018-01-24 22:00:00 6530 1

原创 学习笔记之关于new和delete运算符

在研究new和delete运算符之前,先来介绍下C++的数据存储方式,对于C++来说,数据有两种存储方式,即栈存储和堆存储。栈存储:通常用于存储占用空间小,生命周期短的数据,如局部变量和函数参数等等。堆存储:通常用于存储占用空间大,生命周期长的数据,如全局变量和静态变量等等。因此,如果用户想要不用静态变量和全局变量来定义一个存储在堆中的数据的话,则需要用到new运算符。例:in

2018-01-24 11:53:56 432

原创 C语言实践之贪吃蛇游戏思路及代码

直入正题思路1.绘制地图,利用一个二维数组将地图绘制出来2.创建蛇  利用一个结构体来构造蛇的结点,然后用数组表示一整只蛇3.蛇的移动,利用kbhit()函数检测按键响应 并改变蛇的方向4.蛇的添加结点,代码如下#include #include #include #include #include const int H = 8;//地图的

2017-08-31 09:26:26 1334 1

原创 C语言实践之推箱子游戏思路与代码

直入正题推箱子的基本实现思路就是1.首先绘制一个地图有箱子,人,目的地,墙2.实现人的基本移动3.实现人推箱子和箱子与目的地重合首先是1绘制地图就用二维Int数组就好,不同的数代表不同的东西2 用kbhit()函数检测按键  然后若有方向键按下则改变数组中的数字重新绘制地图3 人移动时检测前方物体 是箱子或者是墙 决定是否移动

2017-08-31 09:17:45 13954

原创 浅谈结构体内变量赋值问题

结构体内变量赋值暂且分为三种(笔者此时只能想到三种)1.定义时赋值2.定义后对变量挨个赋值3.利用函数进行赋值赋值时再分为两类1.非数组赋值2.数组赋值1.比较简单,在此不做过多介绍,只是简单贴下代码。struct student{ char name[]; int age;}b;int main(){ struct student a =

2017-08-27 16:59:00 30570 1

原创 浅谈unsigned int与int相加的问题

int main() { int a = -30; unsigned int b = 15; int w = a+b; if(a+b > 0){ printf("a+b>0\n");//输出这句话 } else { printf("a+b<0\n"); } if(w > 0) {

2017-08-26 20:36:40 8309 2

空空如也

空空如也

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

TA关注的人

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