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

正文內(nèi)容

中南大學(xué)網(wǎng)絡(luò)安全實(shí)驗報告-資料下載頁

2024-11-04 17:05本頁面
  

【正文】 VERFLOW2 define ERROR 0 define OK 1 define MAX 100 //棧的最大值 typedef int SElemType。typedef int QElemType。typedef struct {SElemType *base。SElemType *top。}SqStack。SqStack InitStacka()//順序存儲實(shí)現(xiàn)棧的初始化 {SqStack S。=(SElemType *)malloc(MAX*sizeof(SElemType))。if(!)exit(OVERFLOW)。=。return(S)。}void Pusha(SqStack amp。S,int x)//順序存儲實(shí)現(xiàn)棧的入棧操作 {if(=MAX)exit(OVERFLOW)。*++=x。}void Popa(SqStack amp。S)//順序存儲實(shí)現(xiàn)棧的出棧操作 {SElemType *p。int x。if(==)return。else {p=。x=*。printf(“t刪除的棧頂元素是%dnt出棧操作完成后的棧為:n”,x)。} } void printa(SqStack S)//輸出 {SElemType *p。p=。printf(“t”)。while(p!=){printf(“%d ”,*(p++))。} printf(“n”)。}typedef struct SqNode {SElemType data。SqNode *Link。}*Sqptr,NODE。typedef struct {Sqptr top。}Stack。Stack InitStackb()//鏈?zhǔn)酱鎯?shí)現(xiàn)棧的初始化 {Stack S。=(Sqptr)malloc(sizeof(NODE))。if(!)exit(OVERFLOW)。Link=NULL。return(S)。}void Pushb(Stack amp。S,int x)//鏈?zhǔn)酱鎯?shí)現(xiàn)棧的入棧操作 {Sqptr p。p=(Sqptr)malloc(sizeof(NODE))。if(!p)return。pdata=x。pLink=Link。Link=p。}void Popb(Stack amp。S)//鏈?zhǔn)酱鎯?shí)現(xiàn)棧的出棧操作 {int x。Sqptr p。if(Link==NULL)return。else {p=Link。x=pdata。Link=pLink。printf(“t刪除的棧頂元素是%dn”,x)。free(p)。} }typedef struct QNode {QElemType data。struct QNode *next。}*QueuePtr,QNode。typedef struct {QueuePtr front。QueuePtr rear。}LinkQueue。LinkQueue InitQueue()//鏈?zhǔn)酱鎯?shí)現(xiàn)隊列的初始化 {LinkQueue Q。==(QueuePtr)malloc(sizeof(QNode))。if(!)exit(OVERFLOW)。next=NULL。return(Q)。} void EnQueue(LinkQueue amp。Q,QElemType x)//鏈?zhǔn)酱鎯?shí)現(xiàn)隊列的入隊 {QueuePtr p。p=(QueuePtr)malloc(sizeof(QNode))。if(!p)exit(OVERFLOW)。pdata=x。pnext=NULL。next=p。=p。} void DeQueue(LinkQueue amp。Q)//鏈?zhǔn)酱鎯?shí)現(xiàn)隊列的出隊 {int x。if(==)return。QueuePtr p。p=next。x=pdata。printf(“t刪除的隊頭元素是:%dn”,x)。next=pnext。if(==p)=。free(p)。return。}typedef struct {SElemType *base。int front,rear。}SqQueue。SqQueue InitQueueb()//順序存儲實(shí)現(xiàn)隊列的初始化 {SqQueue S。=(SElemType *)malloc(MAX*sizeof(SElemType))。if(!)exit(OVERFLOW)。==0。return(S)。} void EnQueueb(SqQueue amp。S,int x)//順序存儲實(shí)現(xiàn)隊列的入隊 {if((+1)%MAX==)return。[]=x。=(+1)%MAX。} void DeQueueb(SqQueue amp。S)//順序存儲實(shí)現(xiàn)隊列的出隊 {int x。if(==)return。x=[]。=(+1)%MAX。printf(“t刪除的隊頭元素是:%dn”,x)。} void main(){int choice。int n,x。printf(“nn”)。printf(“、入棧、出棧操作n”)。printf(“、入棧、出棧操作n”)。printf(“、入隊、出隊操作n”)。printf(“、入隊、出隊操作n”)。printf(“t請選擇:”)。scanf(“%d”,amp。choice)。switch(choice){case 1:Stack Sa。printf(“”)。printf(“”)。printf(“”)。while(1){printf(“t請選擇:”)。scanf(“%d”,amp。n)。switch(n){case 1:Sa=InitStackb()。printf(“t鏈?zhǔn)酱鎯5某跏蓟瓿?n”)。break。case 2:printf(“t以39。039。結(jié)束n”)。printf(“t”)。scanf(“%d”,amp。x)。while(x){Pushb(Sa,x)。scanf(“%d”,amp。x)。}printf(“t鏈?zhǔn)酱鎯5娜霔2僮魍瓿?n”)。break。case 3:Popb(Sa)。break。}}break。case 2:SqStack S。printf(“”)。printf(“”)。printf(“”)。while(1){printf(“t請選擇:”)。scanf(“%d”,amp。n)。switch(n){ case 1:S=InitStacka()。printf(“t順序存儲棧的初始化完成!n”)。break。case 2:printf(“t以39。039。結(jié)束n”)。printf(“t”)。scanf(“%d”,amp。x)。while(x){Pusha(S,x)。scanf(“%d”,amp。x)。}printf(“t順序存儲棧的入棧操作完成!n”)。printa(S)。break。case 3:Popa(S)。printa(S)。break。}}break。case 3:LinkQueue Q。printf(“”)。printf(“”)。printf(“”)。while(1){printf(“t請選擇:”)。scanf(“%d”,amp。n)。switch(n){case 1:Q=InitQueue()。printf(“t鏈?zhǔn)酱鎯﹃牭某跏蓟瓿?n”)。break。case 2:printf(“t以39。039。結(jié)束n”)。printf(“t”)。scanf(“%d”,amp。x)。while(x){EnQueue(Q,x)。scanf(“%d”,amp。x)。}printf(“t鏈?zhǔn)酱鎯﹃牭娜霔2僮魍瓿?n”)。break。case 3:DeQueue(Q)。break。}}break。case 4:SqQueue Sv。printf(“”)。printf(“”)。printf(“”)。while(1){printf(“t請選擇:”)。scanf(“%d”,amp。n)。switch(n){case 1:Sv=InitQueueb()。printf(“t鏈?zhǔn)酱鎯5某跏蓟瓿?n”)。break。case 2:printf(“t以39。039。結(jié)束n”)。printf(“t”)。scanf(“%d”,amp。x)。while(x){EnQueueb(Sv,x)。scanf(“%d”,amp。x)。}printf(“t鏈?zhǔn)酱鎯5娜霔2僮魍瓿?n”)。break。case 3: DeQueueb(Sv)。break。}}break。} } 程序調(diào)試截圖:、入棧、出棧操作、入棧、出棧操作、入隊、出隊操作、入隊、出隊操作七、心得體會實(shí)踐才能出真知,在通過了上機(jī)操作后,才發(fā)現(xiàn)了許多在平時上理論課的時候沒有想到的方方面面,編寫程序時發(fā)現(xiàn)很多語法的錯誤,以及很多英語單詞的記不熟,記錯,程序函數(shù)錯用等等,我想需要在以后多多練習(xí),才能逐步解決這些問題。實(shí)驗三 二叉樹的建立和遍歷一、目的和要求了解二叉樹的建立的方法及其遍歷的順序,熟悉二叉樹的三種遍歷檢驗輸入的數(shù)據(jù)是否可以構(gòu)成一顆二叉樹二、實(shí)驗內(nèi)容三、儀器、設(shè)備和材料。++編程平臺。四、實(shí)驗的描述和算法實(shí)驗描述二叉樹的建立首先要建立一個二叉鏈表的結(jié)構(gòu)體,包含根節(jié)點(diǎn)和左右子樹。因為耳熟的每一個左右子樹又是一顆二叉樹,所以可以用遞歸的方法來建立其左右子樹。二叉樹的遍歷是一種把二叉樹的每一個節(jié)點(diǎn)訪問完并輸出的過程,遍歷時根結(jié)點(diǎn)與左右孩子的輸出順序構(gòu)成了不同的遍歷方法,這個過程需要按照不同的遍歷的方法,先輸出根結(jié)點(diǎn)還是先輸出左右孩子,可以用選擇語句實(shí)現(xiàn)。算法include include using namespace std。template struct BinTreeNode//二叉樹結(jié)點(diǎn)類定義 { T data。//數(shù)據(jù)域BinTreeNode *leftChild,*rightChild。//左子女、右子女域BinTreeNode(T x=T(),BinTreeNode* l =NULL,BinTreeNode* r = NULL):data(x),leftChild(l),rightChild(r){}//可選擇參數(shù)的默認(rèn)構(gòu)造函數(shù) }。//template void PreOrder_2(BinTreeNode *p)//非遞歸前序遍歷 { stack * S。while(p!=NULL ||!()){while(p!=NULL){coutdata。//訪問根結(jié)點(diǎn)(p)。p=pleftChild。//遍歷指針進(jìn)到左子女結(jié)點(diǎn)}if(!())//棧不空時退棧{p=()。()。p = prightChild。//遍歷指針進(jìn)到右子女結(jié)點(diǎn)} } } //template void InOrder_2(BinTreeNode *p)//非遞歸中序遍歷 { stack* S。do {while(p!=NULL)//遍歷指針未到最左下的結(jié)點(diǎn),不空{(diào)(p)。p=pleftChild。}if(!())//棧不空時退棧{p=()。()。coutdata。p=prightChild。} } while(p!=NULL ||!())。}//template void PostOrder_2(BinTreeNode *p)//非遞歸后序遍歷 { stack * S。stack tag。//定義一個新的棧用來保存tag域判別根結(jié)點(diǎn)的左右子樹是否均遍歷過while(p!= NULL ||!())//左子樹經(jīng)過結(jié)點(diǎn)加L進(jìn)棧{while(p!=NULL){(p)。//首先將t和tag為入棧,遍歷左子樹(0)。//遍歷左子樹前的現(xiàn)場保護(hù)p=pleftChild。}while(!()amp。amp。 ()==1){p=()。()。()。coutdata。//最后訪問根結(jié)點(diǎn)。}if(!()){()。(1)。//遍歷右子樹前的現(xiàn)場保護(hù),修改棧頂tag為,遍歷右子樹p=()。// 取棧頂保存的指針p=prightChild。}elsebreak。} } template void InOrder_1(BinTreeNode * subTree){//遞歸函數(shù):中序次序遍歷以subTree為根的子樹。if(subTree!=NULL)//NULL是遞歸終止條件{InOrder_1(subTreeleftChild)。//中序遍歷根的左子樹coutdata。//訪問根結(jié)點(diǎn)InOrder_1(subTreerightChild)。//中序遍歷根的右子樹} } template void PreOrder_1(BinTreeNode * subTree){//遞歸函數(shù):前序遍歷以subTree為根的二叉樹。if(subTree!=NULL)//遞歸結(jié)束條件{coutdata。//訪問根結(jié)點(diǎn)PreOrder_1(subTreeleftChild)。//前序遍歷根的左子樹PreOrder_1(subTreerightChild)。//前序遍歷根的右子樹} } template void PostOrder_1(BinTreeNode * subTree){//遞歸函數(shù):后序次序遍歷以subTree為根的子樹。if(subTree!=NULL)//NULL是遞歸終止條件{PostOrder_1(subTreeleftChild)。//后序遍歷根的左子樹PostOrder_1(subTreerightChild)。//后序遍歷根的右子樹coutdata。//訪問根結(jié)點(diǎn)} } //template void CreateBinTree(BinTreeNode * amp。 su
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1