摘要:
在Linux中,利用Shell的作业控制是比较常用的操作,在这一节中我们将探究作业控制相关的操作。为了方便我们查看区分不同的进行,我们编写如下程序,其功能是每间隔2秒输出一次自己的编号。 1 /* 2 ** Test puting a running program into backgound 3... 阅读全文
摘要:
首先,我们定义带头节点的单链表存储结构如下:1 /*2 ** 线性表的单链表存储结构定义 */3 typedef int ListElemType;//线性表数据元素类型4 typedef struct tagLNode {5 ListElemType data;6 struct t... 阅读全文
摘要:
首先定义二叉树的存储结构1 /* 二叉树的二叉链表结点结构定义 */2 typedef char TreeElemType;3 typedef struct tagBiTreeNode {4 TreeElemType data;//结点数据5 struct tagBiTreeNode... 阅读全文
摘要:
线性表的顺序存储结构:1 /*2 ** 线性表的顺序存储结构 */3 #define SQLIST_INIT_SIZE 100 //顺序表存储空间初始分配量4 #define SQLIST_INCREMENT 10 //存储空间分配增量5 typedef struct tagSqList {6 ... 阅读全文
摘要:
朴素模式匹配算法的存在大量的重复匹配操作,时间复杂度为O(m*n),其中m表示主串的长度,n表示模式串的长度,但是算法好理解。另外有一种高效的算法,被称为KMP,该算法的目标就是去掉多余的重复匹配过程,但是算法很难理解,主要是通过构造一个next[]数组来实现,可以实现线性的时间复杂度O(m+n),... 阅读全文
摘要:
调试C++程序的时候出现,无法找到.exe的调试信息,或者调试信息不匹配。未使用调试信息生成二进制文件。解决方法:打开菜单项目->项目属性页:1.选择配置属性->链接器->调试->生成调试信息改为“ 是”;2.选择配置属性->C/C++ ->常规->调试信息格式 改为用于“编辑并继续”的程序数据库(... 阅读全文
摘要:
有关回文串的问题,可能涉及到判断一个字符串是否是回文串、求最大回文子串长度或者求至少添加多少个字符使得输入字符串称为回文串。这些问题我都已经解决,为了使用方便,我把这些实现代码都粘出来了。 1 #include 2 #include 3 #include 4 5 /** 6 ... 阅读全文
摘要:
描述:森林里的笨笨熊今天可开心啦——他买了新房子,乔迁新喜要搬家了。因此,笨笨熊请了许多好朋友来帮忙搬家,并准备了很多小纸盒用来装需要搬的物品,不过,这些纸盒的容积都是相同的,并且最多只能装两个物品。但是,为了不打扰太多的朋友,笨笨熊想了个“聪明”办法:让每个纸盒使用效率最高(注:只要纸盒容积大于物... 阅读全文
摘要:
描述:来自星星的都教授除了所有感官比地球人高出七倍,始终容颜不老以外,还拥有一项在地球人看来特别神奇的能力,他会瞬间(0.00000000001s以内)按照他的规则比较地球人熟悉的两个十进制数字的大小,他比较的规则如下:1、将要比较的两个数字分别转换成二进制数字;2、计算两个二进制数字中1的个数,个... 阅读全文
摘要:
原书中读取字符串使用了gets(),使用此函数读取字符串很危险,因此改用了fgets()替代,修改后代码如下: 1 #include 2 #include 3 4 int main(void) 5 { 6 char str[100], stack[100]; 7 int i,... 阅读全文