哈希之闭散列 给出哈希之闭散列的定义:#define HashMaxSize 1000typedef enum Stat{ Empty, Valid, Invalid //当前元素被删除了}Stat;typedef int KeyType;typedef int ValType;typedef size_t(*HashFunc)(KeyType key);typedef struct...
二叉搜索树 给出二叉搜索树的定义:typedef char SearchTreeType;typedef struct SearchTreeNode{ SearchTreeType key; // 关键码 struct SearchTreeNode* lchild; struct SearchTreeNode* rchild;}SearchTreeNode;将函数的声明放在head.h的头文件里...
二叉树线索化 给出二叉树线索化的定义:typedef char ThreadType;typedef enum{ CHILD, THREAD }Flag; typedef struct ThreadNode{ struct ThreadNode* _pLeft; struct ThreadNode* _pRight; struct ThreadNode* _pParent; ThreadTyp...
运算符重载练习完成日期类 #include <iostream>using namespace std;// 1. 要考虑到日期的合法性// 2. 考考虑闰年和非闰年// 3. 需要用到其他辅助函数自己可以添加class Date{public: Date(int year, int month, int day) : _year(year) , _month(month) , ...
Linux_进程 1. 调研进程的调度算法.初步了解一下进程进程概念:(1)从用户角度看,进程是程序的一次动态的执行过程(放在内存中的)(2)从内核角度进程是分配CPU,内存等系统资源的基本单位从每个进程都有自己独立的虚拟地址空间(4G)和运行状态进程是系统分配资源的最小单位进程是程序的一次动态执行过程,需要对进程的现场信息进行维护,就需要相应的数据结
队列的相关操作(链式结构) 给出队列的定义:typedef int DataType;/////////////////////////链式结构/////////////////////////typedef struct Node //链式结构{ struct Node* _pNext; DataType _data;}Node, *PNode;typedef struct _Queue{ P
队列的相关操作(顺序结构) 给出顺序表的定义:#define MAX_SIZE 8typedef int DataType;/////////////////////////顺序结构/////////////////////////typedef struct Queue //顺序结构{ DataType _array[MAX_SIZE]; int _front; int _back; int _
双向循环链表的相关操作 给出双向循环链表的定义:typedef int DataType;typedef struct DCLNode{ struct DCLNode* _pNext; struct DCLNode* _pPre; DataType _data;}Node, *PNode;将函数的声明放在head.h的头文件里面:#include "DCList.h"PNode DCLBuyNo
单链表的相关操作 给出链表的定义:typedef int DataType;typedef struct SListNode{ DataType _data; struct SListNode* _pNext; // 指向下一个结点的指针 }Node, *PNode;typedef struct SCListNode //复杂链表{ struct SCListNode* _pNext;
Linux_开发工具 01 除了vim, 还有哪些常用的牛逼的编辑器, 并能够横向对比编辑器之间的区别和优缺点.Emacs如果说Vim是编辑器之神,那么Emacs是神的编辑器。 有句夸张的话说:Emacs是伪装成编辑器的操作系统,这句话并不夸张。 Emacs其实是个Lisp的解释器,因此可以用Lisp灵活地扩展。 Lisp是什么东西,这同样是种很有生命力的编程语言。在C语言还没有发明的年代,MIT的人工智能实验室写IT...
Linux-使用命令安装gcc/g++, gdb, vim linux中使用gcc来编译C程序,使用g++来编译C++程序,使用GDB来调试程序,这些使用工具都需要自己进行安装,那么应该怎样配置这些工具呢?首先,在命令行中输入vi查看一下vim的信息如下: 然后,输入ls -a查看是否存在.vimrc和.viminfo这样的配置文件,结果如下: 1.配置gcc、g++Centos中使用yum来配置gcc和g++,若要安
LInux下的:du, df, top, free, pstack, su, sudo, adduser, password命令 1.du命令:du [选项] 文件 (1)功能该命令是显示指定文件以及下的所有文件占用系统数据块的情况,如果没有文件,默认为是当前工作目录 -a 显示所有文件对系统数据块的使用情况 -b 显示数据块大小时以字节为基本单位 -c 除了显示文件对系统数据块的使用情况外还显示出文件的总和 -s 只显示文件数据块
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
Linux中,进入目录、在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限. 权限,就是对某事项进行决策程度和范围,通俗来说,就是规定哪些事情能做、哪些事情不能做。那么,在Linux中有哪些基本权限呢?进入目录需要哪些权限、在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作需要哪些权限?一、Linux中的基本权限(r、w、x) 1、读(r/4):read对于文件来说,具有读取文件内容的权限;对于目录来说,具有浏览该目录信
C语言 顺序表的实现 (动态) 给出顺序表的定义:typedef int DataType;typedef struct SeqListD{ DataType* _pData; int _size; // 顺序表中有效元素的个数 int _capacity; // 顺序表中可容纳元素的最大值 }SeqListD, *PSeqListD;将函数的声明放在head.h的头文件里面:#ifndef __SQEL
C语言 顺序表的实现 (静态) 给出顺序表的定义:typedef int DataType;// 静态顺序表 typedef struct SeqList{ DataType array[MAX_SIZE]; int size; // 表示顺序表中有效元素的个数 /* size的值为数组下标,从零开始。例如:size = 2,里面存了两个元素, 第一个元素的下标为0,第二个元素的下标为1;size在两个元素
模拟实现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
回调函数 回调函数回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。使用回调函数,模拟实现qsort(采用冒泡的方式)。#define _CRT_SECURE_NO_WARNINGS
模拟实现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