自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++中静态成员数据初始化问题

静态成员变量:定义为静态成员意味着它能被所有的实例化对象所共有,其修改值为该类的其它所有实例所见。下面看一个例子class people{public: people(int i):id(i) { num++; } private: static int num; in...

2018-08-27 20:12:53 3365

原创 c语言可变形参

c语言中的形参分为两种,可变形参和固定形参。当我们查找函数的用法时有的函数里面的形参列表有  ...  号,不懂的人把它当做是省略号,但其实那代表可变形参,例如printf函数:int printf(const char *format, ...);使用可变形参分为4个步骤。首先我们得加上头文件:include<stdarg.h>1 、定义一个va_list的类型变量(用于存储...

2018-08-09 20:22:43 870

原创 C++链表的拷贝

1.递归拷贝通过递归将链表数据倒过来遍历,再将每个数据写入拷贝到新链表Cstack::Cstack(Cstack& s){ this->top=NULL; list(s.top); ilen=s.ilen;}void Cstack::list(Node* loc){ if(loc==NULL) ...

2018-08-09 19:28:47 3638

原创 链表的倒序

1.用函数实现:定义3个临时变量,p1储存当前节点,p2储存后一个节点,p3储存重新指向的那个节点步骤:1.p1指向当前节点,p2指向后一个节点,将p2的指向域重新指向p1,但是p2的下个节点会丢失,因此需要用p3将p2储存起来,循环。void invert(node** ph){ node* p1,*p2,*p3; p1=*ph; p2...

2018-07-31 20:09:05 3269

原创 单项链表的实现(尾插法和头插法)

链表是一种不连续的线性表,在内存中表现为1:1的联系方式。链表是由一个个节点组成的,节点分为两部分:一部分是数据区域,一部分是指针域。记住实现链表有两个步骤:1.分配空间2.产生联系(每个节点的指针指向下一个节点) 1.尾插法:每次将新来的空间放入到尾节点之后,头节点保持不变#include<stdio.h>#include<stdlib.h&gt...

2018-07-31 19:36:52 434

原创 指针与二维数组

指针与一维数组的关系:1.一维数组(int型):int buf[5]={1,2,3,4,5};数组名就是首地址,数组是一块连续同类型的空间,因此定义一个指针指向数组首地址就可以表示数组。int *pa=buf;但是一维数组只有一行,并没有列。指针与二维数组:2.二维数组(int型):int buf[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12...

2018-07-28 10:14:28 180

原创 栈的用法

栈的定义:栈是一种特殊的线性表,栈里面的元素具有线性关系。栈遵从一条规则,先进后出/后进先出。栈分为栈底,栈顶,和空栈。栈顶是能进行进栈和出栈的一端,也就是能被操作的一端。栈底就是不能被操作的一端。空栈不含任何数据。如何理解栈:可以将栈看做一个每次只能储存或取出一枚硬币的盒子,如图所示,假如说栈有3个空间,依次往里面储存3枚硬币,当我们想取出硬币使用时,发现每次只能拿出最外面的一枚硬币...

2018-07-25 22:29:17 3606

原创 动态数组

实现动态数组需要使用到堆区,主要的方法就是:定义申请一个堆区空间,判断空间是否储存满了,如果满了就将重新申请一个空间,空间的长度相比以前更大,将原来的空间内容赋值给新的堆区,释放原来的堆区空间,将指针重新指向新的空间首地址。下面是一个简单的案例,主要的功能是输入数据并将之储存到动态数组里面,由于代码过长,这里只有两个功能,1是输入数字,2是遍历输入的数字,0是退出,主要的动态数组实现在ca...

2018-07-23 19:12:42 296

原创 用指针写二分查找法

#include<stdio.h>void main(){        int buf[10]={1,2,3,4,5,6,7,8,9,10};        int* left=buf,*right=buf+9,*mid=NULL;        int key=2;        scanf("%d",&key);        while(left<...

2018-07-20 16:44:38 1773

原创 二分查找法——递归

查找关键字符:二分(折半)查找法  (缩小区域)     前题:查找序列是有序(降/升序)  二分查找法思想(升序):      1、每次取序列中间元素进行比较      2、如果key>mid,说明查找值在中间元素的右侧,         如果key<mid,说明查找值在中间元素的左侧,         key==mid,说明查找成功      3、如果查找不成功,则再...

2018-07-19 17:58:25 612

原创 自定义类型——struct结构体

c语言基本类型有:整型,浮点型,字符型以及bool型,但是这几种类型在某些情况下是不适用的,例如说我们需要定义一个people,这个people包含了姓名,身份证号,性别,年龄,身高。等等,这时候就得使用自定义变量了。如果学习过c++的可以参考c++中的类。定义变量时:类型  变量名自定义类型也是如此,例如说定义一个struct people{...};用自定义类型声明的时候就...

2018-07-19 17:55:48 776

原创 递归,举几个简单的例子

递归:函数直接或者间接调用函数本身。递归对于初学者来说还是一个比较难理解的点,但要是掌握了递归的要点还是没那么难得,写递归之前要知道以三点:1.从什么时候开始2.到什么时候结束3.每次递归时你需要干嘛第二点和第二点不难理解,关键是第3点,其实递归相当于每个相似的过程重复执行。一般来说,递归分为有返回值和无返回值,下面来看几个简单的例子。#include<stdio.h...

2018-07-18 20:07:18 16170

原创 冒泡排序,选择排序和插入排序法

1.冒泡排序(升序)相邻的两个数相互比较,如果前面的数大于后面的数则交换顺序。#include<stdio.h>void main(){        int buf[20]={1,12,11,3,7,8,9,5,15,6};        int i,j,k;        for(i=0;i<10;i++)        {              ...

2018-07-17 17:22:44 218

原创 在字符数组里面查找子字符串是否存在

#include<stdio.h>void main(){        char buf[100]="adsjjfnewktzwksbflovekasd";        char key[10]="";        scanf("%s",key);    //通过scanf输入子字符串        int i=0,j=0;        while('\0'!=...

2018-07-13 11:01:55 2025 1

原创 运算符与表达式

1.了解什么是表达式:表达式是由运算符与数据组成的式子,每一个表达式都有运算的结果。2.我的老师每次使用这个运算符的时候都会说到这个老梗,sizeof是运算符不是函数,别看sizeof后面还要加一个括号,但不是所有的都是函数。这也从侧面sizeof在面试题中经常出现。3.隐式转换类型:由于有的编译系统是不能直接运算不同类型间的数据,必须要转换成同类型才能转换。        简单的有    整形=...

2018-07-13 11:01:10 282

原创 c语言基础部分笔试题1

1.sizeof运算符,笔试中出现很多的。sizeof 不是一个函数而是运算符。判断方法:使用函数时需要在函数后面加一个括号,而sizeof不需要。2.int flag,float flag,int* flag, bool flag与各种0值的比较方法。(具体的方法上篇博客说过,这里只给出答案)int flag正确比较方法:if(0==flag)或者if(0!=flag)float  flag: ...

2018-07-13 10:48:16 236

原创 字符数组的循环右移n位

首先说一下我的整体思路,循环右移是每右移一次,将最右边的值移出去放到最左边来,但是要保证字符数组长度不变。我的方法是每右移一次,先将每个字符向右移一个位置。因为最后面的值是'\0',刚好可以直接赋值。#include<stdio.h>#include<string.h>void main(){        char buf[]="abcdefjhjklmnopqrstwv...

2018-07-12 22:27:09 2139

原创 通过if比较float,int,double,bool,int*类型和各种零值

1.float类型   float表示一个范围的精度,而不是一个特定的值,所以不能直接与零值比较。例如:float flag;            if(0==flag)或者if(0!=flag)这样都是错误的。正确的比较方法是确定一个较小的值,拿float的精度为例。float flag=1e-6;//flag的值为0.0000001而打印出来的值为0.000001.  而这个值就是float...

2018-07-11 11:56:26 2780

原创 Linux系统的环境配置

    如何简单的配置一个Linux系统环境。步骤如下:1.首先你需要安装一个VM虚拟机,我使用的是VMware Workstation Pro14. 点开文件---里面有一个新建虚拟机的选项,打开之后我们选择自定义选项,这样可以自行配置一些需要使用的工具,接下来点击下一步就好了。安装客户机操作系统选择稍后安装操作系统。2.接下来这里选择你想要安装的系统。客户操作系统选择linux,然后版本你可以...

2018-07-01 09:02:07 1261

空空如也

空空如也

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

TA关注的人

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