随笔分类 -  数据结构

摘要:检测一个无符号数是不为2^n-1(^为幂): x&(x+1) 将最右侧0位改为1位: x | (x+1)二进制补码运算公式: -x = ~x + 1 = ~(x-1)~x = -x-1 -(~x) = x+1~(-x) = x-1x+y = x - ~y - 1 = (x|y)+(x&y) x-y = x + ~y + 1 = (x|~y)-(~x&y) x^y = (x|y)-(x&y)x... 阅读全文
posted @ 2011-11-24 14:00 维唯为为 阅读(567) 评论(0) 推荐(0)
摘要:位运算的思想可以应用到很多地方,这里简单的总结一下用位运算来实现整数的四则运算。 1.整数的加法 view plain intMyAdd(inta,intb) { for(inti=1;i;i<<=1) if(b&i) ... 阅读全文
posted @ 2011-11-24 13:53 维唯为为 阅读(4279) 评论(0) 推荐(0)
摘要:数据结构数组数组是一种顺序式的存储同一类型数据的数据结构。声明格式:<数据类型> <变量名称> [ ] = new <数据类型>[ <数组大小>]链表链表是一种有序的列表,串连的方式有两种一种是利用数组结构串连的有序列表;如利用含有两个元素的结点构成的数组,一个元素存放数据、另一个元素存放链接关系。另一种是以动态内存分配的链表;class Node{int Data[ ]=... 阅读全文
posted @ 2011-10-21 23:00 维唯为为 阅读(412) 评论(0) 推荐(0)
摘要:稀疏矩阵的运算: /*设矩阵A中有s个非零元素,若s远远小于矩阵元素的总数,则称A为稀疏矩阵。这里以一维数组顺序存放非零元素的行号、列号和数值,行号-1作为结束标志。*/#include<stdio.h>#definem6//用户可根据需要定义原始矩阵行数#definen8... 阅读全文
posted @ 2011-09-07 19:59 维唯为为 阅读(415) 评论(0) 推荐(0)
摘要:串模式匹配算法的设计与实现 #defineMaxStrSize256//根据用户需要自己定义大小typedefstruct{charch[MaxStrSize];//ch是一个可容纳256个字符的字符数组intlength;}SString;//定义顺序串类型... 阅读全文
posted @ 2011-09-07 19:54 维唯为为 阅读(519) 评论(0) 推荐(0)
摘要:八皇后问题: /*八皇后问题是在8x8的国际象棋棋盘上,安放8个皇后,要求没有一个皇后能够"吃掉"任何其他一个皇后,即没有两上或两个以上的皇后占据棋盘上的同一行、同一列或同一条对角线。算法描述:1.置当前行当前列均为1;2.while(当前行号<=8)3.{检查当前行,从当前列起逐列试探,寻找安全列号;4.if(找到安全列号)... 阅读全文
posted @ 2011-09-07 19:53 维唯为为 阅读(322) 评论(0) 推荐(0)
摘要:通讯录管理: //通讯录管理/*****************************//*主控菜单处理测试程序*//*****************************/#include<stdio.h>#include<string.h>#include<stdlib.h>typedefstruct{//通讯录结点类型... 阅读全文
posted @ 2011-09-07 19:51 维唯为为 阅读(493) 评论(0) 推荐(0)
摘要:1.串 str.h//str.h #ifndef_STR_H #define_STR_H typedefstruct { char*ch; intlen; }STR; STR*NewStr(char*str); voidDestroyStr(STR*s); voidClearStr(STR*s); intStrCompare(STR*s,STR*t); intStrCancat(STR*s,STR*t); STR*SubStr(ST... 阅读全文
posted @ 2011-06-27 08:44 维唯为为 阅读(329) 评论(0) 推荐(0)
摘要:1.栈 stack.h//stack.h #ifndef_STACK_H #define_STACK_H #include"stack.h" #include"data.h" #defineElemTypeTREE* #defineSTACK_INIT_SIZE10 #defineSTACK_INCREME10 typedefstruct { ElemType*base; ElemType*top; intsize; }STACK; ... 阅读全文
posted @ 2011-06-27 08:32 维唯为为 阅读(264) 评论(0) 推荐(0)
摘要:1.线性表 文件结构 list.h//list.h #ifndef_LIST_H #define_LIST_H//条件编译语句 #defineLIST_INIT_SIZE10//线性表初始大小 #defineLIST_INCREMENT10//递增大小 typedefstruct { ElemType*elem;//线性表首地址 intlength;//线性表当前使用长度 intsize;//线性表当前最大长度 ... 阅读全文
posted @ 2011-06-12 14:42 维唯为为 阅读(285) 评论(0) 推荐(0)