随笔分类 - 数据结构
摘要:1 #include 2 #include 3 using namespace std; 4 5 //结点的结构体 6 //内涵三个参数,关键字Key,左孩子指针,右孩子指针 7 typedef struct _NODE_ 8 { 9 int Key; 10 _NODE_* pLeft; 11 _NODE_* pRight; 12 }Node,*pNode; 13 14 //中序遍历 15 void InOrderTraves(pNode T); 16 17 18 //层状遍历 19 void LevelTraves(pNode T); ...
阅读全文
摘要:#include #include using namespace std;void main(){//与静态库相关联 HMODULE hDll = LoadLibrary("HookAPIDll.dll"); printf("被钩掉的那个API,MessageBox,现在变成了打开calc.exe\n"); printf("你现在看的是一个计算器,对不对,哈哈!\n"); //第一个MessageBox MessageBox(NULL,"这是第一个MessageBox","Test",0);
阅读全文
摘要:1 //基本线性队列 2 #include 3 4 using namespace std; 5 6 typedef struct _NODE_ 7 { 8 9 int a; 10 _NODE_* pNext; 11 }Node,*pNode; 12 13 14 class CQueue 15 { 16 private: 17 pNode m_pTop; 18 pNode m_pBase; 19 int iNodeCount; 20 21 22 public: 23 CQueue() 24 { 25 2...
阅读全文
摘要:1、malloc与free是C++/C语言的内存分配标准库函数,属于stdlib库;new/delete是C++的操作运算符。它们都可用于申请动态内存和释放内存。 2、 对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free。 3、C++语言需要一个能完成动态内存分配和初始化工作的运算符new,以及一个能完成清理与释放内存工作的运算符delete。注意new/del.
阅读全文
摘要://链表的头插法/***************************************///运用了OFFSET的宏定义 //通过GetNextPtr来实现OFFSET偏移//最终实现链表结点的头插法。//麻省算法导论/***************************************/#include#includeusing namespace std;#define OFFSET(x,m) (unsigned long)(&((x*)0)->m)/****************结点*****************/typedef struct _NO
阅读全文
摘要:字符串解析函数, 输入一本书的名字的话,对一个单词进行解析,刚好在HDU上做到一题,和这个差不多。。这里的解析为的是做图书检索系统。//刚好可以看看这一题//http://acm.hdu.edu.cn/showproblem.php?pid=1106排序Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 28756 Accepted Submission(s): 7972Problem Description输入一行数字,如果我们把这...
阅读全文
摘要://哥教的#include#includeusing namespace std;int Add(int iNum,...);int main(){ cout * * THIS SOFTWARE IS NOT COPYRIGHTED * * This source code is offered for use in the public domain. You may * use, modify or distribute it freely. * * This code is distributed in the hope that it will be useful but...
阅读全文
摘要:1 //表达式求值 数据结构严蔚敏 表达式求值 代码实现 2 #include 3 4 using namespace std; 5 6 typedef struct _NODE_ 7 { 8 int a; 9 _NODE_* pNext; 10 }Node,*pNode; 11 12 13 int Precede(int cur,int sta); //优先级判断 函数 14 15 int EvaluateExpression(); //表达式求值 函数 16 17 int Result(int ...
阅读全文
摘要:#includeusing namespace std;typedef struct _NODE_{ int a; _NODE_* pNext;}Node,*pNode;typedef struct _TABLE_{ pNode pHead; int iNodeCount;}Table,*pTable;void InitStack(pTable pTableTemp);bool PushStack(pTable pTableTemp, int a);bool PopStack(pTable pTableTemp,int* a);bool GetTop(pTable pT...
阅读全文
摘要:1 //LineTable 2 //先是联合体union,,后是结构体,复合型数据类型的一种自定义类型 3 4 5 //内存分配,按整分配。和CPU相关,数据总线 6 //结构体中内存的分配 7 /* 8 内存空洞大,更容易中病毒 9 10 char a[4] = "xyw"; 11 12 char b = 'x'; 13 char c = 'y'; 14 char d = 'w'; 15 16 17 内存分配, 有效字节 18 */ 19 /* 20 21 特点一 22 23 24 如果...
阅读全文
摘要:1 #include 2 #include 3 #include 4 using namespace std; 5 6 int main() 7 { 8 9 10 //C语言的文件操作 11 /* 12 13 FILE *指针变量标识符 14 15 //fopen fclose 16 17 18 //fgetc fputc //by Character 字符读写 19 //fgets fputs //by stream 字符串读写 20 //fread fwr...
阅读全文
摘要:1 //模拟机排序 2 //运用链性队列(先进先出) 3 // 4 5 #include 6 7 using namespace std; 8 9 typedef struct _NODE_ 10 { 11 int a; //没有再用一个DATA来封数据域,这里只有数据 int a 12 _NODE_* pNext; 13 14 }Node,*pNode; 15 16 17 18 class CQueue //封装成queue类 19 { 20 private: //私有成员pTop 和 pBase 21...
阅读全文
摘要:1 //对于插入,一般都是现查找再插入,这指的是数据不会相同的情况下 2 /*然后另外一个问题,关于数据的前移问题,,使用的非用for循环一个一个向前移动, 3 而是使用了memcpy进行整体往前拷贝。 4 注意,如果是数据的后移,可以用strcpy,但是前移绝对不能用。 5 6 因为是先查再进行插入,所以在Insert中肯的有一个FindData函数进行查找. 7 8 删除数据时,先找到数据,然后memcpy进行“删除”. 9 */ 10 11 /* 12 本代码为线性表的管理, 13 用到了就是Insert,Delete,Find,Travel等函...
阅读全文
摘要:1 #include 2 #include 3 4 using namespace std; 5 6 7 typedef struct _DATA_ 8 { 9 int iAge; 10 int iGrade; 11 char szName[20]; 12 }Data,*pData; 13 14 15 16 typedef struct _NODE_ 17 { 18 Data DataTemp; 19 _NODE_* pNext; 20 21 }Node,*pNode; 22 23 24 class CLis...
阅读全文
摘要:/* 1.C中的内存分配 栈:用来存放函数的形参和函数内的局部变量。 结合汇编,我的理解就是函数的话,都是通过压栈,出栈来处理的。 堆:用来存放由动态分配函数(如malloc)分配的空间。 是由程序员手动分配的,并且必须由程序员用free手动释放。 如果忘记free释放的话,会导致所分配的空间一直占着不放, 导致内存泄漏。 堆:数序随意 栈:后进先出(LIFO) 全局区(静态区):用来存放全局变量和静态变量 ...
阅读全文
摘要:1 //自己写的! 2 3 #include 4 5 using namespace std; 6 7 8 typedef struct _DATA_ 9 { 10 11 char szName[20]; 12 int iAge; 13 }Data,*pData; 14 15 typedef struct _NODE_ 16 { 17 Data DataTemp; 18 _NODE_* pNext; 19 }Node,*pNode; 20 21 22 class CList 23 { 24 public: 25 CLi...
阅读全文
摘要:1 #include 2 #include 3 4 5 using namespace std; 6 7 8 #define MAX 3 9 10 11 typedef struct _DATA_ 12 { 13 int iAge; 14 char szName[20]; 15 16 17 }Data,*pData; 18 19 20 typedef struct _LINETABLE_ 21 { 22 23 pData pDataTemp; 24 25 int iMax; 26 int iSize; 27 ...
阅读全文
摘要:1 #include 2 3 4 using namespace std; 5 6 typedef struct _NODE_ 7 { 8 int a; 9 _NODE_* pNext; 10 11 }Node,*pNode; 12 13 14 class CList 15 { 16 17 private: 18 pNode m_pHead; 19 pNode m_pTail; 20 int iNodeCount; 21 22 public: 23 CList() 24 { 25 m_p...
阅读全文

浙公网安备 33010602011771号