自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (1)
  • 收藏
  • 关注

原创 哈希之闭散列

给出哈希之闭散列的定义:#define HashMaxSize 1000typedef enum Stat{ Empty, Valid, Invalid //当前元素被删除了}Stat;typedef int KeyType;typedef int ValType;typedef size_t(*HashFunc)(KeyType key);typedef struct...

2018-04-23 17:02:28 236

原创 二叉搜索树

给出二叉搜索树的定义:typedef char SearchTreeType;typedef struct SearchTreeNode{ SearchTreeType key; // 关键码 struct SearchTreeNode* lchild; struct SearchTreeNode* rchild;}SearchTreeNode;将函数的声明放在head.h的头文件里...

2018-04-23 16:49:27 136

原创 二叉树线索化

给出二叉树线索化的定义:typedef char ThreadType;typedef enum{ CHILD, THREAD }Flag; typedef struct ThreadNode{ struct ThreadNode* _pLeft; struct ThreadNode* _pRight; struct ThreadNode* _pParent; ThreadTyp...

2018-04-23 16:43:08 185

原创 运算符重载练习完成日期类

#include <iostream>using namespace std;// 1. 要考虑到日期的合法性// 2. 考考虑闰年和非闰年// 3. 需要用到其他辅助函数自己可以添加class Date{public: Date(int year, int month, int day) : _year(year) , _month(month) , ...

2018-04-23 16:32:23 222

转载 Linux_进程

1. 调研进程的调度算法.初步了解一下进程进程概念:(1)从用户角度看,进程是程序的一次动态的执行过程(放在内存中的)(2)从内核角度进程是分配CPU,内存等系统资源的基本单位从每个进程都有自己独立的虚拟地址空间(4G)和运行状态进程是系统分配资源的最小单位进程是程序的一次动态执行过程,需要对进程的现场信息进行维护,就需要相应的数据结

2018-04-05 21:01:31 138

原创 队列的相关操作(链式结构)

给出队列的定义:typedef int DataType;/////////////////////////链式结构/////////////////////////typedef struct Node //链式结构{ struct Node* _pNext; DataType _data;}Node, *PNode;typedef struct _Queue{ P

2018-04-05 20:54:04 180

原创 队列的相关操作(顺序结构)

给出顺序表的定义:#define MAX_SIZE 8typedef int DataType;/////////////////////////顺序结构/////////////////////////typedef struct Queue //顺序结构{ DataType _array[MAX_SIZE]; int _front; int _back; int _

2018-04-05 20:50:57 196

原创 双向循环链表的相关操作

给出双向循环链表的定义:typedef int DataType;typedef struct DCLNode{ struct DCLNode* _pNext; struct DCLNode* _pPre; DataType _data;}Node, *PNode;将函数的声明放在head.h的头文件里面:#include "DCList.h"PNode DCLBuyNo

2018-04-05 20:45:12 109

原创 单链表的相关操作

给出链表的定义:typedef int DataType;typedef struct SListNode{ DataType _data; struct SListNode* _pNext; // 指向下一个结点的指针 }Node, *PNode;typedef struct SCListNode //复杂链表{ struct SCListNode* _pNext;

2018-04-05 20:37:28 132

转载 Linux_开发工具

01 除了vim, 还有哪些常用的牛逼的编辑器, 并能够横向对比编辑器之间的区别和优缺点.Emacs如果说Vim是编辑器之神,那么Emacs是神的编辑器。 有句夸张的话说:Emacs是伪装成编辑器的操作系统,这句话并不夸张。 Emacs其实是个Lisp的解释器,因此可以用Lisp灵活地扩展。 Lisp是什么东西,这同样是种很有生命力的编程语言。在C语言还没有发明的年代,MIT的人工智能实验室写IT...

2018-03-27 17:29:55 155

转载 Linux-使用命令安装gcc/g++, gdb, vim

linux中使用gcc来编译C程序,使用g++来编译C++程序,使用GDB来调试程序,这些使用工具都需要自己进行安装,那么应该怎样配置这些工具呢?首先,在命令行中输入vi查看一下vim的信息如下:  然后,输入ls -a查看是否存在.vimrc和.viminfo这样的配置文件,结果如下: 1.配置gcc、g++Centos中使用yum来配置gcc和g++,若要安

2018-03-24 09:42:05 403

转载 LInux下的:du, df, top, free, pstack, su, sudo, adduser, password命令

1.du命令:du [选项] 文件    (1)功能该命令是显示指定文件以及下的所有文件占用系统数据块的情况,如果没有文件,默认为是当前工作目录    -a    显示所有文件对系统数据块的使用情况    -b    显示数据块大小时以字节为基本单位    -c    除了显示文件对系统数据块的使用情况外还显示出文件的总和    -s    只显示文件数据块

2018-03-24 09:34:15 264

转载 Linux下的一些重要目录/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp/etc

简单介绍各个目录的作用:/bin: /usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。/sys: 文件系统访问 Linux内核/SELinux SELinux是一种基于域-类型模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELi

2018-03-24 09:31:52 280

转载 Linux中,进入目录、在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限.

权限,就是对某事项进行决策程度和范围,通俗来说,就是规定哪些事情能做、哪些事情不能做。那么,在Linux中有哪些基本权限呢?进入目录需要哪些权限、在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作需要哪些权限?一、Linux中的基本权限(r、w、x)       1、读(r/4):read对于文件来说,具有读取文件内容的权限;对于目录来说,具有浏览该目录信

2018-03-24 09:29:53 187

原创 C语言 顺序表的实现 (动态)

给出顺序表的定义:typedef int DataType;typedef struct SeqListD{ DataType* _pData; int _size; // 顺序表中有效元素的个数 int _capacity; // 顺序表中可容纳元素的最大值 }SeqListD, *PSeqListD;将函数的声明放在head.h的头文件里面:#ifndef __SQEL

2018-01-31 21:26:53 144

原创 C语言 顺序表的实现 (静态)

给出顺序表的定义:typedef int DataType;// 静态顺序表 typedef struct SeqList{ DataType array[MAX_SIZE]; int size; // 表示顺序表中有效元素的个数 /* size的值为数组下标,从零开始。例如:size = 2,里面存了两个元素, 第一个元素的下标为0,第二个元素的下标为1;size在两个元素

2018-01-31 21:17:39 203

原创 模拟实现C库函数:strncpy、strncat和strncmp

strncat函数是字符串链接函数,将* src字符串中n个字符连接到* dest字符串的有效字符的后面,最后还要加上’\0’#define _CRT_SECURE_NO_WARNINGS 0#include #include #include char *my_strncat(char *dest, const char *src,size_t num){ assert(de

2017-11-30 17:40:40 356

原创 回调函数

回调函数回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。使用回调函数,模拟实现qsort(采用冒泡的方式)。#define _CRT_SECURE_NO_WARNINGS

2017-11-27 23:18:09 211

原创 模拟实现C库函数:strchr、strcmp、strstr、memcpy和memmove

函数原型:char *strchr(const char *s, int c) 功能: 查找字符串s中首次出现c字符的位置说明: 返回首次出现c的位置的指针,返回的地址是被查找的字符串指针开始的第一个与c相同字符的指针,若s中不存在c则返回NULL。返回值: 成功返回要查找的字符第一次出现的位置,否则返回NULL。#define _CRT_SECURE_NO_WARNINGS 0

2017-11-26 23:25:39 195

原创 写冒泡排序可以排序多个字符串

写冒泡排序可以排序多个字符串#define _CRT_SECURE_NO_WARNINGS 0#include #include #include #include void string_sort(char *arr[][7], int num){ assert(arr); assert(num > 0); int i = 0; int j = 0; int flag

2017-11-25 11:40:49 155

原创 使用main函数的参数

main函数的原型:int main( int argc, char *argv[ ], char *envp[ ] ) {      program-statements }那这里是有三个参数的。第一个参数:argc是个整型变量,表示命令行参数的个数(含第一个参数)。第二个参数:argv是个字符指针的数组,每个元素是一个字符指针,指向一个字符串。这些字符串就是命令行中的每一个参数(字符串)。

2017-11-25 11:39:28 208

原创 模拟实现C库函数:strcpy和strcat

strcpy的作用是将一个字符串的内容复制到另外一个字符数组中,包括字符串的终结符'\0'#define _CRT_SECURE_NO_WARNINGS 0#include #include #include char *my_strcpy(char *dest, const char *src){ assert(src != NULL); assert(dest != NULL

2017-11-24 12:06:40 255

原创 喝汽水问题

喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。#define _CRT_SECURE_NO_WARNINGS 0#include #include #include int drink_water(int money){ int drink = money; //开始喝的时候能喝几瓶 int empty_bottle = money; //喝完后

2017-11-24 12:03:37 162

原创 一个数组中只有两个数字是出现一次,其他所有数字都出现了两次,找出这两个数字

一个数组中只有两个数字是出现一次,其他所有数字都出现了两次,找出这两个数字从头到尾依次异或数组中的每一个数字,那么最终得到的结果就是两个只出现一次的数字的异或结果。因为其他数字都出现了两次,在异或中全部抵消掉了。由于这两个数字肯定不一样,那么这个异或结果肯定不为0,也就是说在这个结果数字的二进制表示中至少就有一位为1。我们在结果数字中找到第一个为1的位的位置,记为第N位。现在我们以

2017-11-24 12:01:30 209

原创 可变参数的使用

步骤:1.定义一个va_list类型的变量 arg。2.宏va_start(arg,num)---这个宏有两个参数,第一个参数为va_list类型的变量,第二个参数为可变参数列表之前的参数。作用就是使得 va_list 的变量指向可变参数列表的首地址。这才是一般意义上的对 va_list的初始化。3.宏va_arg(arg,int) ---第一个参数为va_list类型

2017-11-22 11:43:35 162

原创 函数递归

什么是递归?程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的主要思考方式在于:把大事化小递归

2017-11-21 21:06:00 176

原创 左旋字符串中的k个字符

1.实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB #define _CRT_SECURE_NO_WARNINGS 0#include #include #include //方法一:先把第一位保存起来,然后后一位依次放进前一位(从第二位开始),最后把第一位放到最后一位(空),//然后做一个while(左旋--)

2017-11-12 21:34:31 243

原创 求杨氏矩阵

杨氏矩阵 有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N); 数组: 1 2 3 2 3 4 3 4 5 1 3 4 2 4 5 4 5 6这里我们通过分析可知,四个角有不同的特点。左上角:位于左上角的数是所有行和列最小的数,以此为标准来进行搜索。左下角:位

2017-11-04 18:35:05 228

原创 调整数组使奇数全部都位于偶数前面。

题目: 输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。 对一个数进行分析,我们可知一个奇数最后一个二进制位一定为1,而奇数最后一个二进制位一定为0。所以我们可以用这个数&1来判断奇偶性。#define _CRT_SECURE_NO_WARNINGS 0#include #include #inclu

2017-11-04 14:54:34 158

原创 有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student"

有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student". 要求: 不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)。#define _CRT_SECURE_NO_WARNINGS 0#include #include #include void reverse(char *star,char *en

2017-11-04 14:31:08 423

原创 一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的,求这个数字。(使用位运算)

按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1,当两对应的二进位相同时,结果为0。而计算机中存储的是以补码形式的二进制数,我们又知道一个数和自身异或为0,所以代码如下:注意:代码有缺陷:无法求两个或两个以上单独的数!#define _CRT_SECURE_NO_WARNINGS 0#include int

2017-11-02 18:29:21 307

原创 不使用(a+b)/2这种方式,求两个数的平均值

不使用(a+b)/2这种方式,求两个数的平均值#define _CRT_SECURE_NO_WARNINGS 0#include int main(){ int a = 0; int b = 0; printf("请输入两个个正整数:(a>b)\n"); scanf("%d%d",&a,&b); printf("\n"); printf("%d\n",(a + b) >> 1

2017-11-01 21:39:18 330

原创 编写一个函数的返回值value的二进制位模式从左到右翻转后的值

编写函数: unsigned int reverse_bit(unsigned int value); 这个函数的返回值value的二进制位模式从左到右翻转后的值。 如: 在32位机器上25这个值包含下列各位: 00000000000000000000000000011001 翻转后:(2550136832) 100110000000000000000000000000

2017-11-01 21:13:11 279

原创 #define 宏的一些使用

#define#define 定义标识符语法:           #define name stuff#define 定义宏#define 机制包括了一个规定,允许把参数替换到文本中,这种实现通常称为宏(macro)或定义宏(define macro)。下面是宏的申明方式:#define

2017-10-29 10:32:16 219

原创 程序人生之自我介绍

这是一个关于程序员的自我介绍当你看到这篇博客的时候,我先向你道声好。你好!我叫陈治恒,是一名来自陕西科技大学,网络工程专业的学生。这是我的第一篇博客,也是我程序之路正式开始的重要标志。之前也曾学过一些编程语言、语法,但没有一个特别明确的方向,不清楚自己应该用这些所学的东西去做些什么。直到这个夏天,我下了个决定——我要做一个IT界的大牛。但这个需要一步一步来,急不得。因此我要把C

2017-09-16 16:04:29 1779

Java网络语言聊天室

Java网络语言聊天室Java网络语言聊天室Java网络语言聊天室Java网络语言聊天室Java网络语言聊天室

2018-01-14

空空如也

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

TA关注的人

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