数据结构与算法
wuleibilly3
这个作者很懒,什么都没留下…
展开
-
比较字符串不区分大小写
int compareAb(const char* dst,const char* src){unsigned char s_tolowerTable[256];for(int i = 0; i s_tolowerTable[i] = (unsigned char)tolower(i);//不区分大小写进行比较 知道完全匹配结束 或 中途不匹配结束for( ; *dst && *src && s_tolowerTable[(unsigned char)(*dst)] == s_t原创 2010-07-19 10:05:00 · 1125 阅读 · 0 评论 -
字符串哈希函数
字符串哈希函数 (著名的ELFhash算法)int ELFhash(char *key) { unsigned long h=0; while(*key) { h=(h unsigned long g=h&0Xf0000000L; if(g) h^=g>>24; h&=~g; } return h%MOD; }原创 2010-09-13 12:02:00 · 375 阅读 · 0 评论 -
大整数乘法
#include "stdio.h"#include "stdlib.h"#include "string.h"/*----------------------------------------------大整数乘法在计算机中,长整型(long int)变量的范围是 -2147483648 至 2147483647,因此若用长整型变量做乘法运算,乘积最多不能超过 10位数。即便用双精度型(double)变量,也仅能保证 16 位有效数字的精度。在某些需要更高精度的乘法运原创 2010-12-30 11:28:00 · 548 阅读 · 0 评论 -
母牛生小牛[特殊的斐波那契数列]
<br />#include <iostream>#include "windows.h"using namespace std;/*-----------------------------------母牛生小牛Problem设有一头小母牛,从出生第四年起每年生一头小母牛,按此规律,第N年时有几头母牛? Input本题有多组数据。每组数据只有一个整数N,独占一行。(1≤N≤50) Output对每组数据,输出一个整数(独占一行)表示第N年时母牛的数量原创 2010-12-28 14:49:00 · 994 阅读 · 0 评论 -
蛇行矩阵
<br />#include <iostream>using namespace std;/*---------------------------------------------------------蛇行矩阵Problem蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。Input本题有多组数据,每组数据由一个正整数N组成。(N不大于100) Output对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。 矩阵三角中同一行的数原创 2010-12-29 15:48:00 · 567 阅读 · 0 评论 -
位操作
<br />#include "stdio.h"#include "stdlib.h"/*--------------------------------------------------------------位操作假设你工作在一个32位的机器上,你需要将某一个外设寄存器的第X位设置成0(最低位为第0位,最高位为第31位),将第Y位开始的连续三位设置成110(从高位到低位的顺序),而其他位保持不变。对给定的寄存器值R,及X,Y,编程计算更改后的寄存器值R。Input原创 2010-12-31 10:42:00 · 834 阅读 · 0 评论 -
线段树
1、概述线段树,也叫区间树,是一个完全二叉树,它在各个节点保存一条线段(即“子数组”),因而常用于解决数列维护问题,它基本能保证每个操作的复杂度为O(lgN)。2、线段树基本操作线段树的基本操作主要包括构造线段树,区间查询和区间修改。(1) 线段树构造首先介绍构造线段树的方转载 2011-07-28 15:20:55 · 1405 阅读 · 0 评论 -
堆排序
#define HEAP_SWAP(a,b) \ do \ {\ int t = a;\ a = b;\ b = t;\ } while (0);// array是待调整的堆数组,i是待调整的数组元素的位置,nlength是数组的长度void HeapAdjust(int array[],int i,int nLength)//本函数功能是:根据数组array构建大根堆{转载 2012-06-28 15:14:43 · 612 阅读 · 0 评论