- 博客(56)
- 收藏
- 关注
原创 数据结构-链表的经典面试题
在前面的博客中我们对链表做了一些基本操作,所以在此不再赘述。直接来看,有哪些和链表有关的面试题以及如何去实现它们。 1.头文件声明linklist.h#pragma once typedef char LinkNodeType;typedef struct LinkNode{ LinkNodeType data; struct LinkNode *next;...
2018-04-12 01:20:17
1300
原创 数据结构-带头节点、带环的双向链表的一些基本操作
前面的博客中我们实现了不带头结点、不带环的单向链表,其操作比较复杂,且实际应用相对较少。那今天我们来实现一下带头节点、带环的双向链表,相对来说操作比较简单,而且实际应用性较强。 声明:dlinklist.h#pragma once//带头节点、带环的双向链表typedef char DLinkType;typedef struct DLinkNode{ DLinkT...
2018-04-06 17:57:01
334
1
原创 Linux-创建静态库动态库
首先,我们先了解一下静态库、动态库、静态链接、动态链接这几个基本概念。· 静态库(.a):程序在编译链接的时候把库的代码链接到可执行文件中。程序运行的时候将不再需要静态库。· 动态库 (.so):程序在运行的时候才去链接动态库的代码,多个程序共享使用库的代码.·静态链接:在链接阶段,将源文件用到的库函数和汇编生成的目标文件.o合 并生成可执行文件。· 动态链接:在可执行程序开始运...
2018-03-31 09:51:21
143
原创 Linux-fd与FILE结构体
学习文件描述符fd和FILE结构体前,我们先了解一下系统I/O (1)系统文件I/O 我们学习C语言的时候,通过fopen(),fclose(),fread(),fwrite()等 I/O函数来操作文件,同样的,我们也可以采用系统接口open、close、write、read等来进行文件访问。往文件里写#include<stdio.h>#include<...
2018-03-30 14:50:52
557
原创 数据结构-链表的基本操作
对单向的不带环不带头节点的链表做以下操作:linklist.h//单向的不带环不带头节点的链表#pragma once typedef char LinkNodeType;typedef struct LinkNode{ LinkNodeType data; struct LinkNode *next;}LinkNode;typedef LinkNo...
2018-03-29 10:28:19
262
原创 数据结构-顺序表的基本操作
对顺序表做尾插、尾删、头插、头删、任意位置插入、删除元素、获取指定位置的值、给指定位置设置值、找某个元素的下标、移除某个元素、判断顺序表是否为空、求大小和冒泡排序等 操作seqlist.h#pragma once #include<stddef.h>#define SeqListMaxSize 1000typedef char SeqListType;typed...
2018-03-29 09:36:09
318
原创 理解指针、数组和函数的关系
理解指针数组、数组指针、函数指针、函数指针数组及指向函数指针数组的指针1.指针是什么 首先,我们先看一下几个概念:指针---->地址指针变量---->变量(里面存放的是地址/指针)变量指针---->变量的地址我们习惯于说定义一个指针,其实就是定义一个指针变量。那如何定义一个指针呢int a = 10;//在内存中开辟一块空间,用来保存变量aint
2018-03-27 15:44:58
424
原创 Linux下的一些重要目录
bin -- 存放二进制可执行命令,用来引导启动所需的命令或普通用户可能用的命令boot-- 存放引导加载器使用的文件,包括核心映像dev --存放设备文件etc -- 存放各种系统配置文件root -- 超级用户目录sbin -- 存储二进制文件,存放系统管理员使用的基本系统程序tmp -- 存放程序在运行时产生的信息和数据,及临时文件usr -- 最大的目录,应用程序都子这个目录home --...
2018-03-15 00:58:16
111
原创 Linux在目录中执行增删查改命令时,需要哪些权限
1.cd 进入目录需要的权限 首先新建三个目录,day01,day02,day03[admin@localhost test1]$ mkdir day01[admin@localhost test1]$ mkdir day02[admin@localhost test1]$ mkdir day03[admin@localhost test1]$ lsday01 day02 ...
2018-03-14 23:00:12
232
原创 Linux常用指令
1.Linux基本指令 ls 列出当前目录下的所子目录与文件 ls -a列出目录下的所有文件,包括以 . 开头的隐含文件 ls -l 列出文件详细信息(可缩写为 ll ) pwd 显示当前所在工作目录 cd 进入个人主目录 cd .. 返回上级目录 cd ~ 进入用户家目录 ...
2018-03-13 23:20:01
154
原创 实现左旋函数的几种方法
左旋函数的形式:例如,abcdef1234,左旋一个字符变成bcdef1234a,左旋两个字符变成cdef1234ab思路如下:左旋一次,就是把第一个字符拿出来放在一个临时变量里,然后把整个字符串左移一位,最后把存放第一个字符的临时变量的值赋给最后一个字符。左旋几次,这个过程就进行几次,用循环来处理,方法如下:1.利用数组#define _CRT_SECURE_NO_WARNINGS
2017-12-17 13:23:06
627
原创 详解函数的调用过程
函数在运行期间创建的局部变量、函数参数、返回数据、返回地址都存放在栈区,而栈区又是程序地址空间的一块区域,所以先了解一下程序的地址空间! 从下到上分别是程序代码区、文字常量区、全局区、堆区和栈区,堆区和栈区是相对而生,这里我们把栈区单独拿出来,用一个例子来说明函数的调用过程,下面是代码部分: #include<stdio.h>int Add(int x,int y
2017-12-10 22:19:48
5102
原创 三子棋的简单实现
思路:一、显示游戏登录界面,进行选择 二、游戏过程 1.初始化棋盘和打印棋盘 2.实现玩家走(通过输入坐标)和电脑走(系统自动生成随机数) 3.判断棋盘是否满了,如果是,平局;如果不是,判断输赢 4.输出结果
2017-11-26 09:28:12
846
原创 操作符简述
这段时间系统的学习了一下操作符,现将自己总结的知识点和大家做个分享。 首先,操作符由算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式、下标引用、函数调用和结构成员组成。一些基本的大家都清楚,我就不一一做介绍了,下面是我认为需要注意的几个方面: 1.%操作符的两个操作数必须为整数,其他的算术操作符可以作用于整数和浮
2017-11-17 15:48:58
243
原创 交换两个整型变量的四种方法
#includevoid swap(int *pa,int *pb){ int tmp = 0; tmp = *pa; *pa = *pb; *pb = tmp;}int main(){ int a = 16; int b = 22; printf("a = %d b = %d",a,b); swap(&a,&b); printf("a = %d b
2017-11-17 15:45:53
579
原创 程序小白入门史
作为一个妹纸,当然抵挡不住买买买的诱惑。每年双十一来临之前,一边羡慕马云爸爸今年又能赚几个亿一边又忍不住剁手。而今年,一切好像没有那么轻松惬意,无形的压力,只源于自己已经是一名大三狗了。处在这个阶段的我清楚地知道了再也不能像以前一样浑浑噩噩的混日子了,有了对自己明确的定位后,干劲十足,人就应该对自己狠点,否则,你都不知道你究竟有多大的潜能。 以前提起C语言的时候,我就头痛,感觉完
2017-11-05 19:57:39
341
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅