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

正文內(nèi)容

華中科技大學數(shù)據(jù)結(jié)構實驗報告(文件)

2025-06-10 18:12 上一頁面

下一頁面
 

【正文】 = ERROR) printf(插入失?。n)。 break。 getchar()。 getchar()。 getchar()。 scanf(%s, filename)。 getchar()。 getchar()。 }//end of switch system(cls)。typedef struct BiTNode { TElemType data。//typedef是將結(jié)構類型定義struct BiTNode取別名為BiTNodetypedef BiTree QElemType。 //尾指針,若隊列不空,指向隊列尾元素的下一個位置}SqQueue。 return OK。}status DestroyBiTree(BiTree amp。 T = NULL。39。ch)。) T = NULL。 scanf(%d, amp。 CreateBiTNode(Trchild)。 Trchild = NULL。}//若T為空二叉樹返回TRUEstatus BiTreeDepth(BiTree T) { if (!T) return 0。 else return 1+MAX(BiTreeDepth(Tlchild), BiTreeDepth(Trchild))。}status Mid_order(BiTree T, status(*visit)(TElemType e)) { if (T) { if (Mid_order(Tlchild, visit)) if (visit(Tdata)) if (Mid_order(Trchild, visit)) return OK。 return ERROR。 //置空棧 if (T) { st[top++] = T。 //將右子樹的根結(jié)點存入棧中 if (plchild != NULL) st[top++] = plchild。 //置空棧,top為棧頂元素上一個單元的地址 do { while (T) //根指針T表示的為非空二叉樹 { if (top == MAXLENG) exit(OVERFLOW)。 //彈出根指針 if(!visit(Tdata)) return ERROR。}//用一個堆棧并設置標志來實現(xiàn)后續(xù)非遞歸遍歷status Post_order_b(BiTree T, status(*visit)(TElemType e)) { BiTNode *st[MAXLENG], *pre。 T = Tlchild。amp。//彈出已訪問的根結(jié)點 pre = T。 }}//后序非遞歸遍歷也可以用雙堆棧來實現(xiàn)char Root(BiTree T) {//返回T的根 if (!T) return NULL。 int top = 0。 else { if(prchild!=NULL) st[top++] = prchild。 //若二叉樹為空,返回Error BiTNode *st[MAXLENG], *p。 //先序遍歷,彈出棧頂元素 if (pdata == e) { pindex = Value。 } } return ERROR。Tlchilddata == e) ||(Trchild!=NULLamp。 if (T1 != NULL) return T1。}BiTNode* LeftSibling(BiTree T, char e) { //若e無左孩子,返回NULL BiTree T1=NULL。 T1 = LeftSibling(Tlchild, e)。 } return NULL。Tlchilddata == e) return Trchild。 //遞歸調(diào)用對右子樹進行操作 if (T1 != NULL) return T1。 p = LeftChild(Tlchild, e)。 } return NULL。 if (p != NULL) return p。}status InsertChild(BiTree T, BiTree p, int LR, BiTree c) { if (!T) { printf(二叉樹不存在!\n)。 } if (LR == 0) { crchild = plchild。 }//若LR為1,插。 }//若LR為0,插入c為T中p所指結(jié)點的左子樹 else { crchild = prchild。 } if (crchild != NULL) { printf(待插入二叉樹的右子樹不為空!\n)。 if (p != NULL) return p。 if (T) { if (Tdata == e) return Trchild。 p = LeftChild(Trchild, e)。}BiTNode* LeftChild(BiTree T, char e) { BiTree p。 //遞歸調(diào)用對左子樹進行操作 if (T1 != NULL) return T1。 if (T) { if (Tlchild!=NULLamp。 T1 = LeftSibling(Trchild, e)。amp。 if (T1 != NULL) return T1。 Trchilddata == e)) return T。 if (T) { if ((Tlchild!=NULLamp。 } else { if (prchild != NULL) st[top++] = prchild。 //置空棧 st[top++] = T。 } } return ERROR。 while (top) { p = st[top]。}//獲得結(jié)點,返回結(jié)點的值int Value(BiTree T, char e) { if (!T) return ERROR。 flag = 0。 //訪問左子樹根結(jié)點 if (Trchild == pre) { if (!visit(Tdata)) return ERROR。 flag = 1。 if (T) { do { while (T) { if (top == MAXLENG) exit(OVERFLOW)。 } } while (top || T)。 //根指針進棧 T = Tlchild。 }}//先序遍歷的另一種算法思想是直接//在第一次訪問根結(jié)點時對根結(jié)點進行操作status Mid_order_b(BiTree T, status(*visit)(TElemType e)) { BiTree st[MAXLENG]。 //彈出棧頂指針 if(!visit(pdata)) return ERROR。}//遍歷二叉樹的非遞歸算法,建立遞歸工作棧status Pre_order_b(BiTree T, status(*visit)(TElemType e)) { BiTNode *st[MAXSIZE], *p。 } else return OK。 return ERROR。amp。}status BiTreeEmpty(BiTree T) { if (T) return FALSE。}status ClearBiTree(BiTree amp。 getchar()。 Tdata = ch。 if (ch == 39。 printf(請輸入關鍵字:\n)。}//采用遞歸的方式銷毀二叉樹,思想和前序遍歷二叉樹是一致的//若采取非遞歸的方式銷毀二叉樹和層序遍歷二叉樹的思想一致status CreateBiTNode(BiTree amp。 if (Trchild) DestroyBiTree(Trchild)。T) { //將二叉樹T置空 T = NULL。 else return b。 int front。//左右孩子指針 int index。}//end of main() 附錄B 基于二叉鏈表二叉樹實現(xiàn)的源程序黑體小2加粗居中,另起頁include include include define TRUE 1define FALSE 0define OK 1define ERROR 0define OVERFLOW 2define MAXLENG 10define MAXSIZE 2define QMAXSIZE 5typedef int status。 break。 case 14: if (DataLoading(L[t]) == FALSE) printf(文件加載到當前線性表失??!\n)。 else printf(文件保存失?。n)。 case 13: char filename[30]。 case 12: if (!ListTrabverse(L[t])) printf(線性表是空表!\n)。 else printf(刪除的元素為%d,表的長度是%d!\n, e, L[t].length)。 scanf(%d, amp。 getchar()。i, amp。 getchar()。 getchar()。 break。 if (PriorElem(L[t], cur, pre_e) == FALSE) printf(操作失?。n)。 case 8: printf(請輸入數(shù)據(jù)元素!\n)。 else printf(數(shù)據(jù)元素為線性表中第%d個元素!\n, i)。e)。 getchar()。 getchar()。 break。 case 5: //printf(\nListLength功能待實現(xiàn)!\n)。 else printf(線性表不是空表!\n)。 getchar()。 case 3: //printf(\nClearList功能待實現(xiàn)!\n)。 else printf(線性表刪除失?。n)。 getchar()。op)。 printf( 0. Exit\n)。 printf( 4. ListEmpty 11. ListDelete\n)。 printf(\n)。 int op = 1。 int i。t)。}void main(void) { SqList L[100]。[], sizeof(int), 1, stream)) { ++。 scanf(%s, filename)。L) { FILE *stream。[i], sizeof(ElemType), 1, fp))!=1) printf(File write error!\n)。 return FALSE。 return 。 for (i = 0。 。 for (q = amp。 e = [i 1]。 return OK。 p = q。 } q = amp。 if ( = ){//當前存儲空間已滿,增加分配 newbase = (ElemType*)realloc(, ( + LISTINCREMENT)*sizeof(ElemType))。 } return FALSE。 if (j != 0 amp。 } else return FALSE。 if (j != 0 amp。 return FALSE。}//用e返回L中第i個數(shù)據(jù)元素的值status LocateElem(SqList L, ElemType e) { int j。}status GetElem(SqList L, int i, ElemType amp。L) { return 。L) { if ( == NULL) return ERROR。 = 0。}//InitList_Sqstatus DestroyList(SqList amp。 if (!) exit(OVERFLOW)。 int listsize。Second Edition, Calvin College, 2005 [3] 殷立峰. Qt C++跨平臺圖形界面程序設計基礎. 清華大學出版社,2014:192~197[4] (C語言版). 清華大學出版社宋體小4號, 指導教師評定意見黑體小2加粗居中,另起頁一、對實驗報告的評語二、對實驗報告評分評分項目(分值)程序內(nèi)
點擊復制文檔內(nèi)容
法律信息相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1