虚拟机的设计与实现CC++(源代码和书籍)


虚拟机的设计与实现CC++(源代码和书籍)
资源截图
代码片段和文件信息
#include
#include
#include

#define TRUE   1
#define FALSE  0

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ declarations                                                      +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

struct HashTbl
{
unsigned char empty; /*indicates if entry is used or not*/
    char str[32]; /*string payload*/
    struct HashTbl *left;
    struct HashTbl *right;
};

#define PRIME 5

class HashTable
{
struct HashTbl hashTbl[PRIME]; /*the hash table itself*/

int hashpjw(char *s); 

/*binary tree routines needed for collision resoltuion*/

struct HashTbl* findNode(struct HashTbl* link char *val);
void insertNode(struct HashTbl** link char *val);
void printTree(struct HashTbl* link int level);
void deleteAll(struct HashTbl **link);

public:
HashTable();
~HashTable();
struct HashTbl* queryHashTbl(char *str);
void addHashTblEntry(char *val);
void printHashTbl();
};

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ definitions                                                       +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

HashTable::HashTable()
{
int i;
for(i=0;i
hashTbl[i].empty = TRUE;
hashTbl[i].str[0]=‘‘;
}
return;

}/*end constructor*/

/*-----------------------------------------------------------------*/

HashTable::~HashTable()
{
int i;
for(i=0;i
deleteAll(&(hashTbl[i].left));
deleteAll(&(hashTbl[i].right));
}
return;

}/*end destructor*/

/*-----------------------------------------------------------------*/

/*
if symbol exists in hash table we get a pointer to the node
if a symbol does not exist in the hash table we get NULL
*/

struct HashTbl* HashTable::queryHashTbl(char *str)
{
int hash;

hash = hashpjw(str);

if(hashTbl[hash].empty==TRUE)

return(NULL); 
}

return(findNode(&(hashTbl[hash]) str));

}/*end queryHashTbl*/

/*-----------------------------------------------------------------*/

void HashTable::addHashTblEntry(char *val)
{
struct HashTbl *ptr;
int hash;

hash = hashpjw(val);

printf(“HashTable.addHashTblEntry(): hash(%s)=%d
“valhash);

if(hashTbl[hash].empty==TRUE)

hashTbl[hash].empty=FALSE;
strcpy(hashTbl[hash].strval);
hashTbl[hash].left = NULL;
hashTbl[hash].right = NULL;
return; 
}

ptr = &hashTbl[hash];
insertNode(&ptr val);
return;

}/*end addHashTblEntry*/

/*-----------------------------------------------------------------*/

void HashTable::printHashTbl()
{
int i;
for(i=0;i
if(hashTbl[i].empty == FALSE)
{
printf(“--Hash Slot (%d)--
“i);
printTree(&(hashTbl[i]) 0);
printf(“
“);
}
}
printf(“
“);
return;

}/*end printHashTbl*/

/*-----------------------------------------------------

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      15824  2001-05-05 10:42  虚拟机的设计与实现CC++(源代码和书籍)源码linuxinfiledmp

     文件      92938  2001-05-05 10:42  虚拟机的设计与实现CC++(源代码和书籍)源码linuxinhashtbl

     文件     181308  2001-05-05 10:42  虚拟机的设计与实现CC++(源代码和书籍)源码linuxinhasm

     文件     114414  2001-05-05 10:42  虚拟机的设计与实现CC++(源代码和书籍)源码linuxinhecvm

     文件      90869  2001-05-05 10:42  虚拟机的设计与实现CC++(源代码和书籍)源码linuxinlist

     文件       7289  2001-05-05 10:42  虚拟机的设计与实现CC++(源代码和书籍)源码linuxin
umfmt

     文件      16306  2001-05-05 10:42  虚拟机的设计与实现CC++(源代码和书籍)源码linuxin
awbin

     文件       7702  2001-05-05 10:42  虚拟机的设计与实现CC++(源代码和书籍)源码linuxin ree

     文件        952  2001-05-05 10:41  虚拟机的设计与实现CC++(源代码和书籍)源码linuxldall.sh

     文件       6945  2001-05-05 10:41  虚拟机的设计与实现CC++(源代码和书籍)源码linuxdstructhashtblhashtbl.cpp

     文件         42  2001-05-05 10:41  虚拟机的设计与实现CC++(源代码和书籍)源码linuxdstructhashtblmakefile

     文件       2696  2001-05-05 10:41  虚拟机的设计与实现CC++(源代码和书籍)源码linuxdstructlistlist.cpp

     文件         33  2001-05-05 10:41  虚拟机的设计与实现CC++(源代码和书籍)源码linuxdstructlistmakefile

     文件         33  2001-05-05 10:41  虚拟机的设计与实现CC++(源代码和书籍)源码linuxdstruct reemakefile

     文件       6094  2001-05-05 10:41  虚拟机的设计与实现CC++(源代码和书籍)源码linuxdstruct ree ree.cpp

     文件       9081  2001-05-05 10:41  虚拟机的设计与实现CC++(源代码和书籍)源码linuxhasmldfile.cpp

     文件       8096  2001-05-05 10:41  虚拟机的设计与实现CC++(源代码和书籍)源码linuxhasmcmdline.cpp

     文件        536  2001-05-05 10:41  虚拟机的设计与实现CC++(源代码和书籍)源码linuxhasmcommon.c

     文件       1379  2001-05-05 10:41  虚拟机的设计与实现CC++(源代码和书籍)源码linuxhasmerror.c

     文件       7621  2001-05-05 10:41  虚拟机的设计与实现CC++(源代码和书籍)源码linuxhasmexenv.c

     文件       1339  2001-05-05 10:41  虚拟机的设计与实现CC++(源代码和书籍)源码linuxhasmglobvar.cpp

     文件       9635  2001-05-05 10:41  虚拟机的设计与实现CC++(源代码和书籍)源码linuxhasmhashtbl.cpp

     文件       2793  2001-05-05 10:41  虚拟机的设计与实现CC++(源代码和书籍)源码linuxhasmiset.c

     文件        755  2001-05-05 10:41  虚拟机的设计与实现CC++(源代码和书籍)源码linuxhasmlabel.cpp

     文件      22823  2001-05-05 10:41  虚拟机的设计与实现CC++(源代码和书籍)源码linuxhasmlinetok.cpp

     文件      11493  2001-05-05 10:41  虚拟机的设计与实现CC++(源代码和书籍)源码linuxhasmlinux.c

     文件       7454  2001-05-05 10:41  虚拟机的设计与实现CC++(源代码和书籍)源码linuxhasmlnscan.cpp

     文件       4538  2001-05-05 10:41  虚拟机的设计与实现CC++(源代码和书籍)源码linuxhasmmain.cpp

     文件         50  2001-05-05 10:41  虚拟机的设计与实现CC++(源代码和书籍)源码linuxhasmmakefile

     文件      23385  2001-05-05 10:41  虚拟机的设计与实现CC++(源代码和书籍)源码linuxhasmpass1.cpp

............此处省略202个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)