freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告-圖書管理-文庫吧資料

2024-09-16 02:31本頁面
  

【正文】 si)t(BTree p)) //遍歷 B 樹 T,對每個(gè)結(jié)點(diǎn)調(diào)用 Visit 函數(shù) void ShowBTree(BTree T,short x = 8) //遞歸以凹入表形式顯示 B 樹 T,每層的縮進(jìn)量為 x,初始縮進(jìn)量為 x=8 B 樹的 基本 操作偽代碼: Result SearchBTree(BTree T, KeyType k) //在 m 階 B 樹上查找關(guān)鍵字 k,返回結(jié)果( pt, i, tag)。 Status InsertBTree(BTree amp。 //B 樹查找結(jié)果類型 B 樹基本操作 : Reselt SearchBTree(BTree T,KeyType k) //在 m 階 B 樹上查找關(guān)鍵字 k,返回結(jié)果( pt, i, tag)。 //關(guān)鍵字序號 int tag。 //B 樹節(jié)點(diǎn)類型和 B 樹類型 typedef struct { BTNode *pt。 //子數(shù)指針 Record *rec[m+1]。 //父親指針 KeyType key[m+1]。 //關(guān)鍵字類型為整型 typedef struct BTNode //B 樹結(jié)點(diǎn) { int keynum。 3681bd1c2b9ef87aa40ba80437378615 第 8 頁 共 31 頁 } 3. B 樹類型 define m 3 //定義 3 叉 B 樹 typedef BookNode Record。 //打印圖書信息 } void PrintAllBooks(Library L) //打印書庫中的所有圖書基本信息 { BTreeTraverse(L, PrintAll)。i = pkeynum。 //顯示預(yù)約名單 return OK。 //顯示圖書基本信息 PrintBorrower(B)。 //對借閱者鏈表按日期遲到早排序 SortBespeaker(B)。 //未找到 BookType B = rec[]。 } Status ShowBookinfo(Library L ,int booknum) //顯示 書號為 booknum 的書 的狀態(tài) { res = SearchBTree(L,booknum)。//如已預(yù)約,則返回 ERROR prenextb = R。 r 。 //獲取當(dāng)前日期為預(yù)約日期 if(!Bbespeaker) Bbespeaker = R。 //如果找到該 author 的著作,則返回 TRUE,否則返回 ERROR { if(Bcurrent 0) return ERROR。 } else return ERROR。 BTreeTraverse(L, ListBookName)。 } return 0。 Bcurrent++。pre = p,p = pnextr) //搜索借書者鏈表 if(pcardnum == r) //找到則用 R 返回借閱者信息 { R = p。 for( 。 //未搜索到,返回 1 B = rec[]。R) //b 為還書書號, r 為還書者借閱證號, //若書 庫中不存在書號為 b 的書,則返回 1 //若有 r 借閱 b 書的記錄,則注銷該記錄,并用 B 和 R 返回圖書信息和借閱者信息并返回 1, //若沒有 r 借閱 b 書的記錄,則用 B 返回圖書信息,并返回 0 { res = SearchBTree(L, b)。 //現(xiàn)存量減 1 } int ReturnBook(Library L ,int b ,int r,BookType amp。 rnextr = R。 rnextr。 //當(dāng)前日期加 90 天為最遲還書日期 if(!Breader) Breader = R。 { GetDate(Rbordate)。 //如果刪除成功,返回 OK else return ERROR。 } } Status DeleteBook(Library amp。 bcurrent = bcurrent + Btotal。 { if( == 0) InsertBTree(L, Bbooknum, , , B)。 } void InsertBook(Library amp。 Status ShowBookinfo(Library L ,int booknum) //若書庫 L 中存在書號為 booknum 的書,則顯示該書的狀態(tài) ,包括書的基本信息和 //借閱者名單,預(yù)約者名單,日期等,并返回 OK,書庫 L 不存在該書返回 ERROR void PrintAllBooks(Library L) //打印書庫中的所有圖書基本信息 書庫類型基本操作偽代碼: void InitLibrary(Library amp。 //如果找到該 author 的著作,則返回 TRUE,否則返回 ERROR Status BespeakBook(BookType B ,ReaderType R) //為讀者 R 預(yù)約 B 書。B ,ReaderType amp。L ,BookType B) //如果書庫中存在 B 書,則從書庫中刪除 B 書的信息,并返回 OK,否則返回 ERROR void BorrowBook(Library L ,BookType B ,ReaderType R) //書庫 L 存在, B 書是書庫中的書并 且可被讀者 R 借閱(已通過 CanBorrow()判斷) //借出一本 B 書,登記借閱者 R 的信息,改變現(xiàn)存量,記錄借書日期,最遲應(yīng)還日期等信息。L ,BookType B , Result res) //書庫 L 已存在, res 包含 B 書在書庫 L 中的位置或應(yīng)該插入的位置 //如果書庫中已存在 B 書,則只將 B 書的庫存量增加,否則插入 B 書到書庫 L 中。L ) 3681bd1c2b9ef87aa40ba80437378615 第 5 頁 共 31 頁 //初始化書庫 L 為空書庫。 //預(yù)約者鏈表指針 } BookNode,*BookType。 //定價(jià) ReaderType reader。 //現(xiàn)存量和總庫存 int publishyear。 //書名 char writer[MAX_NAME_LEN]。 //讀者類型 typedef struct BookNode //圖書結(jié)點(diǎn) { int booknum。 }。 //預(yù)約日期 struct ReaderNode *nextb。 //下一個(gè)借閱者指針 }。 //借書日期 tm retdate。 //借閱證號 char rname[MAX_NAME_LEN]。 //著者著作計(jì)數(shù) typedef int Status。 //某位著者著作名數(shù)組 char author[MAX_NAME_LEN]。 }ADT Library 3. 本程序包含 3 個(gè)模塊 主程序模塊,其中主程序?yàn)? int main() { 初始化: While(1) { 顯示菜單信息; 讀取用戶選擇,執(zhí)行相應(yīng)操作 。 初始條件:書庫 L 存在 。 操作結(jié)果: 若書庫 L 中存在書 B,則顯示 B 書的狀態(tài)(包括書的信息,借閱者證號,日期等)并返回OK,否則返回 ERROR。 ShowBookinfo(L ,B )。 3681bd1c2b9ef87aa40ba80437378615 第 3 頁 共 31 頁 ListAuthor(L ,author)。 初始條件:書庫 L 存在, B 書是書庫中的書, R 為借閱者。 BespeakBook(L ,amp。 初始條件:書庫 L 存在。 ReturnBook(L ,amp。 初始條件:書庫 L 存在, B 書是書庫中的書并且可被讀者 R 借閱。 操作結(jié)果:如果書庫中存在 B 書,則從書庫中刪除 B 書的信息,并返回 OK,否則返回 ERROR BorrowBook(L ,amp。B)。 DeleteBook(amp。 初始條件:書庫 L 已存在, B 為與 L 的數(shù)據(jù)元素類型相同的給定值, result 包含 B 書在書庫中的 位置或應(yīng)該插入的 位置 。 InsertBook(amp。L )。 操作結(jié)果:以凹入表形式顯示 B 樹 T。 操作結(jié)果:若 T 中存在其關(guān)鍵字等于 key 的數(shù)據(jù)元素,則刪除之 BTreeTraverse(BTree T,Visit) 初始條件: B 樹 T 存在, Visit 是對 T 結(jié)點(diǎn)的函數(shù) 操作結(jié)果:遍歷 B 樹 T,對每個(gè)結(jié)點(diǎn)調(diào)用 Visit 函數(shù) ShowBTree( T )。T ,key)。 操作結(jié)果:若 T 中 步存在關(guān)鍵字等于 的數(shù)據(jù)元素,則插入 e 到 T 中。T ,e)。 操作結(jié)果:若 T 中存在關(guān)鍵字等于 key的數(shù)據(jù)元素,則返回該元素的值或在表中的位置,否則返回“空”。 數(shù)據(jù)關(guān)系:數(shù)據(jù)元素同屬于一個(gè)集合 并且: 一棵 m 階的 B 樹,或?yàn)榭?,或?yàn)闈M足下列特性的 m叉樹: 樹中每個(gè)結(jié)點(diǎn)至多有 m 棵子樹; 若根結(jié)點(diǎn)不是葉子結(jié)點(diǎn),則至少有兩棵子樹; 除根之外的所有非終端結(jié)點(diǎn)至少有 m/2(取上限)棵子樹; 所有的非終端結(jié)點(diǎn)包含下列信息數(shù)據(jù) : (n,A0,K1,A1,K2,A2,K3,?? ,Kn,An) 其中: Ki( i=1, 2,?? n)為關(guān)鍵字,且 KiKi+1( i=1, 2,?? n1); Ai( i=0,?? n)為指向 子樹根3681bd1c2b9ef87aa40ba80437378615 第 2 頁 共 31 頁 結(jié)點(diǎn)的指針,且指針 Ai1 所指子樹中所有結(jié)點(diǎn)的關(guān)鍵字均小于 Ki( i=1, 2,?? n), An 所指子樹中所有
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1