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

正文內(nèi)容

西文圖書管理系統(tǒng)-預覽頁

2025-05-02 03:49 上一頁面

下一頁面
 

【正文】 輸入書號) scanf(書號) if SearchBTree(書號)=trueprintf(書的具體信息:書號,書名,作者,現(xiàn)存量,總量) printf(輸入 1 刪除這本書) scanf() if(1) { 書號=0 printf(刪除成功!) } else printf(操作失敗!不存在這本書)return216。i++) if(總量!=0) printf(書號, 書名, 作者, 現(xiàn)存量, 總量)3.調(diào)試分析(1)本程序最大的問題就是B樹的基本算法的實現(xiàn),此處難點在于B_樹的結(jié)點的分裂,當插入結(jié)點時,判斷結(jié)點中關(guān)鍵字的個數(shù)是否大于規(guī)定的個數(shù),如果大于則要對此結(jié)點進行分裂,在分裂時,要改變孩子結(jié)點的parent指針,并且把分裂出的關(guān)鍵字放到該關(guān)鍵字的parent結(jié)點中,然后繼續(xù)判斷是否要分裂,一直到符合要求。(2)算法的時間空間復雜度分析 由于B樹查找的時間復雜度為O(Log2N),而程序中多次用到了一重循環(huán),其時間復雜度為O(n),因此程序的時間復雜度為O(n),空間復雜度也為O(n).(3)可改進內(nèi)容:利用MFC做一個界面,使界面更加美觀;可嘗試用B+樹代替B_樹,更容易應用于文件系統(tǒng)刪除圖書記錄的時候必須先收回所有的書,即要保證現(xiàn)存量和總量相等后方可刪除;采用文件的形式,可以保存圖書狀態(tài)。 char name[30]。}。 /*雙親結(jié)點指針*/ struct node *ptr[MAXM]。 /*指向找到的結(jié)點*/ int i。 /*m階B樹,為全局變量*/int Max。 for(i=0。i++) 。若查找成功{ //則tag=1,指針pt所指結(jié)點中第i個關(guān)鍵字等于k;否則tag=0,等于k的 //關(guān)鍵字應插入在指針Pt所指結(jié)點中第i和第i+1個關(guān)鍵字之間BTNode *p=t,*q=NULL。amp。 pkey[i]==k) /*找到待查關(guān)鍵字*/ found=1。//關(guān)鍵字序號iif (found==1) /*查找成功*/{ =p。//pt指向q,tag置為0}return r。for(j=qkeynum。}qkey[i+1]=x。}void Split(BTNode *amp。 /*生成新結(jié)點*ap*/apptr[0]=qptr[s]。 apptr[is]=qptr[i]。 for (i=0。 /*q的前一半保留,修改keynum*/}void NewRoot(BTNode *amp。tptr[1]=ap。tparent=NULL。若引起 結(jié)點過大,則沿雙親鏈進行必要的結(jié)點分裂調(diào)整,使t仍是m階t樹。if (q==NULL) /*t是空樹(參數(shù)q初值為NULL)*/ NewRoot(t,NULL,k,NULL)。 while (needNewRoot==0 amp。 /*無須分裂,插入完成*/ else { /*分裂結(jié)點*q,將qkey[s+1..m],qptr[s..m]和qrecptr[s+1..m]移入新結(jié)點*ap*/ s=(m+1)/2。 i=Search(q, x)。for (j=i+1。}pkeynum。q=qptr[0])。for (c=tkeynum。}tptr[1]=tptr[0]。 /*將左兄弟中最后一個關(guān)鍵字移動到雙親結(jié)點中*/pkey[i]=tkey[tkeynum]。BTNode *t。tptr[tkeynum]=pptr[i]ptr[0]。tkeynum。 tptr[c]=tptr[c+1]。lkeynum++。c=qkeynum。}for (c=i。}pkeynum。else if (i==pkeynum) /*為最右邊關(guān)鍵字的情況*/ if (pptr[i1]keynumMin) MoveRight(p,i)。else Combine(p,i)。}else /*在*p結(jié)點中查找*/{ i=pkeynum。 return(k==pkey[i])。else{ if ((found=SearchNode(k,p,i))==1) /*查找關(guān)鍵字k*/ { if (pptr[i1]!=NULL) /*若為非葉子結(jié)點*/ { Successor(p,i)。 /*沿孩子結(jié)點遞歸查找并刪除關(guān)鍵字k*/ if (pptr[i]!=NULL) if (pptr[i]keynumMin) /*刪除后關(guān)鍵字個數(shù)小于MIN*/ Restore(p,i)。else if (rootkeynum==0){ p=root。void addbook()//添加書{ int n=1,num。 s=SearchBTree(bookp,num)。 scanf(%s,amp。book[num].author)。 printf(\n總量:)。 printf(\n輸入 1 繼續(xù)添加, 0 返回主界面)。 if(booknumber==1) { printf(請輸入書號:)。 book[num].extant。 } return。num)。 } else printf(此書不存在.)。 if(select) lendbook(num)。 printf(請輸入書號:)。amp。 return。 scanf(%d,amp。 scanf(%d,amp。 printf(刪除成功!)。i1000。 printf(\t3 借閱圖書\n)。 switch(getch()) { case 39。 case 39。 case 39。 case 39。 case 39。 case 39。 case 39。 m=4。j1000。book[j].number!=1) InsertBTree(bookp,book[j].number
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1