查詢的有關操作

2021-07-13 11:48:03 字數 1538 閱讀 7659

1.利用實驗一建立有序表,採用折半查詢實現某一已知的關鍵字的查詢。

2.隨機產生一組關鍵字,利用二叉排序樹的插入演算法建立二叉排序樹,然後刪除某一指定關鍵字元素。

3.已知雜湊函式為h(key)=key%p(p為自定的常數),衝突處理方法分別為線性探測法、外拉鍊法實現

雜湊表的建立(利用插入演算法實現)。 

#include #include #include #include#include#include#include#includeusing namespace std;

typedef long long ll;

int a[100];

void erfen(int n,int x)

cout<<"未能找到"f=p;//用f記下查詢路徑上的最後乙個訪問的節點

p=(keykey)? p->l:p->r;

}p=(node*)malloc(sizeof(node));

p->key=key;

p->l=p->r=null;

if(t==null)

t=p;

else if (keykey)

f->l=p;

else

f->r=p;

return t;

}node *createbst(int n) ///建立二叉排序樹

if(!p) return;//二叉排序樹中無關鍵字為key的結點

if(p->l==null&&p->r==null) //p沒有左右子樹

else if(p->l==null&&p->r!=null)//p無左子樹有右子樹

else if(p->r==null&&p->l!=null)//p有左子樹無右子樹

else if(p->l!=null&&p->r!=null)//p既有左子樹又有右子樹

p->key=s->key;//以p的中序前趨結點s代替p(即把s的資料複製到p中)

if(q!=p) q->r=s->l;//重接q的右子樹

else q->l=s->l;//重接q的左子樹。

free(s);

}}void midorder(node * t )///遞迴實現中序遍歷

}int tem[100];

vectorv[100];

void hash1(int p,int n)///線性探測法

{ memset(tem,0,sizeof(tem));

for(int i=0; i>n;

cout<<"請輸入"<>a[i];

int x;

cout<<"請輸入要查詢的數"<>x;

erfen(n,x);

cout<<"請輸入n"<>n;

cout<<"請輸入"<>a[i];

node *bt;

bt=createbst(n);

cout<<"中序遍歷序列為:"<>num;

delbst(bt,num);

cout<<"刪除節點之後中序遍歷序列為:"<>p;

hash1(p,n);

cout<<"線性探測法儲存"<

查詢的有關操作

實驗名稱 查詢的有關操作 實驗室名稱 丹青909 實驗台號 14 學生姓名 陳佳龍 專業班級 2015級1班 指導教師 於慧伶 實驗日期 2017 6 12 一 實驗目的 掌握折半查詢演算法的思想及程式實現。掌握二叉排序樹的查詢 插入 刪除 建立演算法的思想及程式實現。掌握雜湊儲存結構的思想,能選擇...

有關hibernate的查詢

hibernate查詢方式舉例 1 單個物件 a query query session.createquery from consortbean a where a.person.id query.setstring 0,pb.getid 引數從零開始 list list query.list b...

有關拖放的操作

我們滑鼠選擇檔案的過程中,如何用滑鼠把檔案拖放進入我們的頁面呢?我們需要那些事件。獲取那些內容呢?這裡是效果圖。你好啊,你今年幾歲啊,哈哈,我的今天在 drag something into here 如果想獲得事件需要阻止事件的預設行為 如果不阻止瀏覽器的預設行為是無法執行 drag事件的。我們首...