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

正文內容

數(shù)據(jù)結構實驗教學大綱-展示頁

2024-09-23 03:35本頁面
  

【正文】 d Insert_L(NODE *head, int I, int e)。//遍歷 int data[6]={25,41,17,98,5,6}。}。 cout // 單鏈表的操作 include struct NODE { int data。 ListDel_sq(L,5, x)。 cout //遍歷 print_sq(L)。cout // 插入 10個數(shù)據(jù)元素 for(int i=1。Sqlist L。for(p=。j [j1]=[j]。e=[i1]。return。*q=e。p=q。 q=[i1]。} void ListInsert_sq(Sqlist L,int i, int e){ int *p,*q。void print_sq(Sqlist L)。void ListInsert_sq(Sqlist L,int i, int e)。}Sqlist。 2實驗內容 ( 1)設計一個順序表的基本操作的演示程序( 2)設計一個單鏈表的基本操作的演示程序( 3)設計一個雙鏈表的基本操作的演示程序 【基本要求】 實現(xiàn)下列 4種基本運算:( 1)初始化線性表;( 2)在第 I個元素前插入一個元素 e;( 3)刪除第 I個元素;( 4)遍歷線性表;( 5)將單鏈表逆置 【測試數(shù)據(jù)】自定 參考程序如下: //順序表的基本操作 include //順序表的定義 define MAX 15 typedef struct{ int elem[MAX]。第一篇:《數(shù)據(jù)結構》實驗教學大綱 《數(shù)據(jù)結構》實驗教學大綱 實驗 1 線性表的基本操作 1實驗目的 (1)熟練掌握線性表的邏輯特征。 ( 2)熟練掌握線性表的基本操作在兩種存儲結構上的實現(xiàn)。 int length。 void Initlist_sq(Sqlist L)。void ListDel_sq(Sqlist L,int i, int e)。 // 函數(shù)的定 義 void Initlist_sq(Sqlist L){ =0。if( +1)return。//插入位置 for(p=[]。p) *(p+1)=*p。++。} void ListDel_sq(Sqlist L,int i, int e){ if()return。 for(int j=i。} void print_sq(Sqlist L){ int *p,*q=+。p cout void main(){ int a[11]={10,20,30,40,50,60,70,80,90,100}。 //初始化順序表 Initlist_sq(L)。i ListInsert_sq(L, i, a[i1])。 cout //刪除第 5個元素 int x。 cout cout print_sq(L)。NODE *next。 void print(NODE *head)。void Setup_L(NODE *head,int n)。//插入 void Delete_L(NODE * head, int I,int e)。 Setup_L(L,6)。//Insert_L(L,7,50)。int x。cout print(L)。print(L)。p=headnext。//后移指針 } cout NODE *q,*p。 headnext=NULL。 for(int i=0。//生成新結點 pdata=data[i]。q=p。} void Insert_L(NODE *L,int i, int e){ NODE *p=L,*q。while(pjnext。 } if(!p||ji1){ cout return。qdata=e。pnext =q。int j=0。 j++。} q=pnext。pnext =qnext。} void Convert_L(NODE *L){ NODE *p,*q,*r。 q=pnext。while(q){ r=qnext。 Lnext=q。 q=r。NODE *next。}。//測試用數(shù)據(jù) // 函數(shù)聲明 void print(NODE *head)。void Insert_L(NODE *L,int i,int e)。void Convert_L(NODE*L)。Setup_L(L,6)。Insert_L(L,7,50)。int x。cout NODE *p。while(p){cout datanext。head=(NODE*)new NODE。q=head。i p=(NODE*)new NODE。 //cinpdata。qnext=p。} qnext=NULL。} void Insert_L(NODE *L,int i,int e){//在帶頭結點的雙鏈表中第 i個位置插入元素 e NODE*p=L,*q。//j為計數(shù)器 while(pjnext。} //尋找第 i1個結點 if(!p||ji1)//i小于 1或大于表長 {cout qdata=e。pprior=q。} else {qnext=pnext。pnext=q。} //插入 L中 } void Delete_L(NODE*L,int i,int e){//在帶頭結點的雙鏈表 L中,刪除第 i個元素,并由 e返回其值 NODE *p=L,*q。while(pj {p=pnext。} if(!p||ji1){cout return。e=qdata。pnext=qnext。}//刪除并釋放結點 3 實驗要求 按要求編寫實驗程序,將實驗程序上機調試運行,并提交實驗報告。熟練掌握循環(huán)隊列的基本操作 熟練掌握鏈隊列的基本操作 2實驗內容 ( 1)設計一個順序棧的基本操作 的演示程序( 2)設計一個鏈棧的基本操作的演示程序( 3)設計一個循環(huán)隊列的基本操作的演示程序( 4)設計一個鏈隊列的基本操作的演示程序 【基本要求】 實現(xiàn)下列 6種基本運算:( 1)初始化;( 2)入棧(隊列);( 3)出棧(隊列);( 4)遍歷;( 5)求棧(隊列)的長度 【測試數(shù)據(jù)】自定 參考程序如下: //順序棧的基本操作 include define MAX 10 typedef struct{ int base。 int st[MAX]。 //基本操作說明 void InitStack(SqStack S)。void pop(SqStack S,int e)。} void push(SqStack S, int e){ if(==MAX) {cout return。+=1。 e=[]。I cout “。 //初始化 cout cout for(int I=0。 cout int x。cout } //循環(huán)隊列的基本操作 include define MAX 8 typedef struct { int base[MAX]。int rear。 /*********** 初始化 **************/ void InitQueue(SqQueue Q) { ==0。} //*****入隊列 ****************// void EnQueue(SqQueue Q,int e){ if((+1)%MAX==) cout else { []=e。} } //*******遍歷隊列 ******// void traverse(SqQueue Q){ int I, k。 else k=1。I cout “。 case 1: for(I=。 for(I=0。 e=[]。 return 1。 InitQueue(Q)。for(j=0。traverse(Q)。cout “。cout 按要求編寫實驗程序,將實驗程序上機調試運行,并提交實驗報告。( 2)熟練掌握二叉樹的存儲結構。 2 實驗內容 設計一個可進行二叉樹基本操作的演示程序。 二叉樹以鏈式結構表示,主程序以菜單方式的用戶界面。 struct node *lchild, *rchild。 typedef BinTNode *BinTree。 //先序創(chuàng)建二叉樹 void PreOrder(BinTree T)。 //中序遍歷二叉樹 void PostOrder(BinTree T)。 //求度為 1的結點的個數(shù) int leafs(BinTree T)。 //度為 2的結點的個數(shù) void translevel(BinTree b) //層序遍歷二叉樹 void main(){ int n。 char ch1,ch2。y39。y39。Y39。 switch(ch2) { case 39。: case 39。: cout CreateBinTree(T)。 case 39。: case 39。: cout PreOrder(T)。 case 39。: case 39。: cout InOrder(T)。 case 39。: case 39。: cout PostOrder(T)。 case 39。: case 39。: cout n=onechild(T)。 case 39。: case 39。: cout n=twochild(T)。 case 39。: case 39。: cout n=leafs(T)。case ?e?: case ?E?: cout translevel(T)。 case 39。: case 39。: ch1=39。 break。 cinch。039。 else { T=(BinTNode *)new BinTNode。 CreateBinTree(Tlchild)。 } } void InOrder(BinTree T){ if(T){ InOrder(Tlchild)。 } } void PostOrder(BinTree T){ if(T){ PostOrder(Tlchild)。 coutdata void PreOrder(BinTree T){ if(T){ coutdata PreOrder(Tlchild)。} } //層序遍歷二叉樹 //采用一個隊列 q,先將二叉樹的根 結點入隊列,然后退隊列,輸出該結點,若它有左子樹,便將左子樹根結點入隊列,若它有右子樹,便將右子樹根結點入隊列,如此直到隊列空為止。 define MAXLEN 100 void translevel(BinTree b){ struct node { BinTree vec[MAXLEN]。}q。 //置隊列為空隊列 =0。 //隊尾指針后移 while( //隊列不為空 { b=[]。if(blchild!=NULL) //輸出左孩子,并入隊列 { coutlchilddata []=blchild。} if(brchild!=NULL) //輸出右孩子,并入隊列 { coutrchilddata []=brchild。} } } int onechild(BinTree T){ int num1,num2。else if(Tlchild ==NULL Trchild!=NULL||Tlchild!=NULL Trchild==NULL) return 1。 num2=onechild(Trchild)。 } } int leafs(BinTree T){ int num1,num2。else if(Tlchild==NULL Trchild ==NULL)return 1。 num2=leafs(Trchild)。} } 3 實驗要求 按要求編寫實驗程序,將實驗程序上機調試運行,并 提交實驗報告。( 2)熟悉哈夫曼樹的構造方法 實驗內容 哈夫曼算法 3 實驗要求 按要求編寫實驗程序,將實驗程序上機調試運行,并提交實驗報告。 int weight。}huffnode。int start。 void main(){ huffnode ht[2*MAX]。int i, k,f ,l,r, n,c,m1,m2。 cout for(i=1。 cinht[i].data)。for(i=n+1。 l=r=0。k if(ht[k].parent==0) if(ht[k].weight { m2=m1。 } m1=ht[k].weight。 } else if(ht[k].weight { m2=ht[k].weight。 } ht[l].parent=i。 ht[i].weight=ht[l].weight+ht[r].weight。 ht[i].rchild=r。i if(ht[f].lchild==c) []=39。 else []=39。 c=f。} hcd[i]=d。k cout 實驗 5 圖的基本操作 1實驗目的 ( 3)熟練掌握圖的非線性結構的特點。 ( 5)掌握圖的兩種常用存儲結構下的深度優(yōu)先搜索和廣度優(yōu)先搜索操作和其它操作的實現(xiàn) 2 實驗內容 (1)設計一個基于圖的鄰接矩陣的圖的基本操作的演示程序。【基
點擊復制文檔內容
物理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1