乙個表查詢程式

2022-01-12 13:56:37 字數 941 閱讀 9484

巨集處理器或編譯器的符號表管理主要**,採用的結構是乙個hash表,hash表的每一項是乙個鍊錶。

例如#define in 1,在程式編譯的時候,需要把名字in和替換文字1存入到某個表中。此後,當名字in出現在某些語句中時,如int state=in,就必須要用1來替換in。

選擇雜湊表,檢索速度快(o(1)+o(n))

**:

#include #include 

#include

#define hashsize 101

//巨集處理器或編譯器的符號表管理主要**

struct

nlist

;static

struct nlist*hashtab[hashsize];

//把s複製到堆記憶體中

char* my_strdup(char*s)

returnp;}

//取得hashval(下標),乙個字串s對應乙個hash表中的下標

unsigned int hash(char*s)

return hashval%hashsize;

} //

根據s,找到hashval,再根據它找到在雜湊表中對應乙個鍊錶(因為其它字串也可能和s有一樣的hashval),然後遍歷鍊錶,看看有沒有和s相等的字串

struct nlist* lookup(char*s)

return

null;}//

將name和defn新增到雜湊表中

struct nlist* install(char* name,char*defn)

else

if((np->defn=my_strdup(defn))==null)

return

null;

return

np;}

intmain()

}}

乙個網域名稱查詢的程式

主要用了兩個字串函式implode 和explode 我製作的網域名稱查詢的源 主要用了兩個字串函式implode 和explode,利用這兩個函式的切割字串的強大功能,可以查詢.com,net.org.cc.tv下的網域名稱whois。echo if isset string echo echo ...

mysql 例項(乙個表) 查詢

以下的查詢語句中存在著多表,包含主外來鍵 這裡並未顯示 理解為主 1查詢表中所有記錄的列1,列2 列3 select 列1 列2,列3 from 表 2查詢表的所有記錄 select distinct 列1 from 表 3 查詢表 的所有記錄 select count from 表 4 查詢表中數...

mysql查詢乙個表的資料插入另乙個表

1.如果2張表的字段一致,並且希望插入全部資料,可以用這種方法 insert into 目標表 select from 表 例如 insert into t a select from t b 2.如果只希望匯入指定字段,可以用這種方法 insert into 目標表 欄位1,欄位2,select ...