日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构——课程设计

發(fā)布時間:2023/12/9 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构——课程设计 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

課程設(shè)計報告

題 目 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計

學(xué)生姓名

學(xué) 號

院 系 計算機與軟件學(xué)院

專 業(yè) 信息安全

指導(dǎo)教師

二O二一年十二月二十四日
?
目 錄

一、 任務(wù)概述········································5
(一) 棧的應(yīng)用——后綴表達式實現(xiàn)··································5
(二) 圖的應(yīng)用——最小生成樹······································5
(三) 圖的應(yīng)用——活動圖··········································5
(四) 堆排序的應(yīng)用——Top K問題···································6
二、 算法設(shè)計思想····································6
(一) 棧的應(yīng)用——后綴表達式實現(xiàn)··································6
(二) 圖的應(yīng)用——最小生成樹······································6
(三) 圖的應(yīng)用——活動圖··········································7
(四) 堆排序的應(yīng)用——Top K問題···································7
三、 測試結(jié)果········································8
(一) 棧的應(yīng)用——后綴表達式實現(xiàn)··································8
(二) 圖的應(yīng)用——最小生成樹······································8
(三) 圖的應(yīng)用——活動圖··········································9
(四) 堆排序的應(yīng)用——Top K問題··································10

參考文獻·············································10
附件·················································11

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計

摘要:本文主要介紹了數(shù)據(jù)結(jié)構(gòu)中的棧、圖和堆排序在具體案例中的應(yīng)用:利用棧的存儲結(jié)構(gòu)實現(xiàn)了中綴表達式的后綴表示,基于最小生成樹算法實現(xiàn)了無向網(wǎng)中代價最小的路線求解,利用AOE-網(wǎng)求解關(guān)鍵路徑并估算某開發(fā)項目的完成時間,最后利用堆排序算法解決Top K問題。本文針對這些具體案例,有效地組織、存儲和處理數(shù)據(jù),正確地改進或設(shè)計滿足功能需求的算法,旨在通過實際應(yīng)用案例,提升數(shù)據(jù)結(jié)構(gòu)和算法的編程實現(xiàn)能力,增加系統(tǒng)全面的實踐經(jīng)歷。
關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);棧 ;圖 ;堆排序

Course design of data structure
Abstract:This paper mainly introduces the application of stack, graph and heap sorting in data structure in specific cases: the suffix representation of infix expression is realized by using the storage structure of stack, the route with the lowest cost in undirected network is solved based on the minimum spanning tree algorithm, the critical path is solved by AOE network, and the completion time of a development project is estimated, Finally, the heap sorting algorithm is used to solve the top k problem. Aiming at these specific cases, this paper effectively organizes, stores and processes data, and correctly improves or designs algorithms to meet functional requirements. The purpose is to improve the programming ability of data structure and algorithms and increase the comprehensive practical experience of the system through practical application cases.
Key words:Data structure Stack Diagram Sorting

一、任務(wù)概述

(一)棧的應(yīng)用——后綴表達式實現(xiàn)

利用一個棧,實現(xiàn)中綴表達式的后綴表示。例如,輸入a+c/d*(e-f)#,輸出acd/ef-*+。其中#為表達式結(jié)束標志。要求,棧底元素為#,每次對棧操作時,均應(yīng)打印輸出當(dāng)前棧內(nèi)情況。

(二)圖的應(yīng)用——最小生成樹

基于最小生成樹算法(兩種典型算法可任選一種或兩種實現(xiàn)),求解無向有權(quán)圖中代價最小的路線,打印輸出結(jié)果。 請自行選擇圖的存儲結(jié)構(gòu)。
測試用圖如圖1.2.1,1.2.2:

圖1.2.1 圖1.2.2
(三)圖的應(yīng)用——活動圖

圖的應(yīng)用。一個軟件開發(fā)項目的活動圖如下所示,弧上的數(shù)值為需要的開發(fā)天數(shù)。請用鄰接表實現(xiàn)該圖的存儲。(1)計算輸出每條弧最早發(fā)生時間和最遲發(fā)生時間;(2)輸出該開發(fā)項目的最短開發(fā)周期;(2)輸出一旦延期將影響開發(fā)進度的全部路徑。如圖1.3.1

圖1.3.1
(四)堆排序的應(yīng)用——Top K問題
以任務(wù)3中的圖為測試例子,定義有向邊結(jié)構(gòu)體(弧尾,弧頭,權(quán)值),用弧的結(jié)構(gòu)體數(shù)組保存全部弧,并針對該數(shù)組,實現(xiàn)堆排序算法,并用其解決Top K排序問題。(2次課)
Top K排序:查找最大的(或最小的)K個元素。
要求分析算法時間復(fù)雜度,討論哪些算法適合TopK排序問題,簡述理由。
注意,算法應(yīng)允許通過參數(shù)設(shè)置,選擇最大K還是最小K個元素;
二、算法設(shè)計思想

(一)棧的應(yīng)用——后綴表達式實現(xiàn)

1.遇到操作數(shù):直接輸出(添加到后綴表達式中);
2.棧為空時,遇到運算符,直接入棧;
3.遇到左括號:將其入棧;
4.遇到右括號:執(zhí)行出棧操作,并將出棧的元素輸出,直到彈出棧的是左括號,左括號不輸出;
5.遇到其他運算符:加減乘除:彈出所有優(yōu)先級大于或者等于該運算符的棧頂元素,然后將該運算符入棧;
6.最終將棧中的元素依次出棧,輸出。

(二) 圖的應(yīng)用——最小生成樹

Prim(普里姆)算法:
算法思想 —— 歸并頂點
1.在圖中任取一個頂點K作為開始點。令U={k},W=V-U,其中V為圖中所有頂點的集合;
2.在U中選取一個頂點,W中選取另一個頂點,使二者對應(yīng)的邊是最短的一條。將該邊作為最小生成樹的邊保存起來,并將該邊頂點全部加入U集合中,并從W中刪去這些頂點;
3.重新調(diào)整U中頂點到W中頂點的距離, 使之保持最小,再重復(fù)此過程,直到W為空集止。

(三) 圖的應(yīng)用——活動圖

1)要找出一個AOE網(wǎng)中的關(guān)鍵路徑,就要先找出網(wǎng)里的關(guān)鍵活動,這些關(guān)鍵活動間的路徑就是關(guān)鍵路徑。
2)判斷一個活動是不是關(guān)鍵活動,方法是要先找到所有活動的最早開始時間和最晚開始時間,并且對它們進行比較,如果二者相等(意味著這個活動在該工程中沒有時間松動),說明這個活動是關(guān)鍵活動。
3)對于活動<Vi, Vk>,它最早的開始時間等于事件Vi最早的發(fā)生時間etv[i](事件v的最早發(fā)生時間用etv[k])。假設(shè)E[Vi]表示所有到達頂點Vi的弧的集合,len<Vi, Vk>表示活動<Vi, Vk>的持續(xù)時間,那么:如圖2.3.1

圖2.3.1
注意,這里假設(shè)頂點下標從0開始,所以Vi==0,則表示它是源點,因此最早的開始時間為0;當(dāng)某個頂點不是源點,那么只有在它前面的事件都發(fā)生完后,才能輪到這個事件,所以用了max。
4)對于活動<Vk, Vj>,它最晚的開始時間等于事件Vj最晚的發(fā)生時間減去這個活動的持續(xù)事件,即ltv[j]-len<Vk, Vj>(事件v的最晚的發(fā)生時間用ltv[k])。假設(shè)S[Vk]表示所有從頂點Vk出發(fā)的弧的集合,len<Vk, Vj>表示活動<Vk, Vj>的持續(xù)時間,那么:如圖2.3.2

圖2.3.2

(四) 堆排序的應(yīng)用——Top K問題

  • 采用順序表存儲表示。
  • 建堆:從最后一個非葉子結(jié)點開始,反復(fù)篩選。
  • 篩選:
    step 1 得到堆頂元素后,交換堆頂和最后一個元素,此時根結(jié)點的左右子樹均為堆; step 2 自上而下重新調(diào)整為大頂堆:首先以堆頂元素和左右子樹根節(jié)點的值進行比較,若堆頂元素小,則與左右根節(jié)點中值較大的交換,重復(fù)該步驟直至葉子結(jié)點;
    step 3 重復(fù)上述過程直至結(jié)束。
  • Top K 問題:設(shè)置函數(shù)參數(shù)flag供選擇查找最大或最小k個元素,利用堆排序結(jié)果
    輸出最大或最小k個元素。
  • 時間復(fù)雜度分析:對深度為k的堆,篩選算法中關(guān)鍵字比較次數(shù)最多2(k-1)次,故在建立含n個元素,深度為h的堆時,關(guān)鍵字總的比較次數(shù)不超過4n。而n個結(jié)點的完全二叉樹深度為(log2(n)+1)向下取整,調(diào)整建新堆時調(diào)用heapadjust過程(n-1)次,總比較次數(shù)不超過2n(log2(n)),故堆排序在最壞情況下時間復(fù)雜度為O(nlogn)。
  • Top K排序問題宜采用算法及理由:
    堆排序:用一個小頂堆維護大小為k的數(shù)組,時間復(fù)雜度為O(nlogk),該算法不需要一次將原數(shù)組中的內(nèi)容全部加載到內(nèi)存中,可以處理較大的數(shù)據(jù)量。
    快速排序:利用找分割點的方法,時間復(fù)雜度低。
    三、測試結(jié)果
  • (一)棧的應(yīng)用——后綴表達式實現(xiàn)

    如圖3.1.1

    圖3.1.1

    (二)圖的應(yīng)用——最小生成樹

    如圖3.2.1,3.2.2:

    圖3.2.1

    圖3.2.2

    (三)圖的應(yīng)用——活動圖

    如圖3.3.1

    圖3.3.1

    (四)堆排序的應(yīng)用——Top K問題

    如圖3.4.1

    圖3.4.1

    參考文獻:
    【1】 CSDN 博主遐光 《中綴表達式轉(zhuǎn)后綴表達式算法思想》
    【2】 CSDN 博主糖不苦z的原創(chuàng)文章
    https://blog.csdn.net/weixin_44203971/article/details/103934109
    【3】 程杰《大話數(shù)據(jù)結(jié)構(gòu)》 清華大學(xué)出版社 圖
    【4】 CSDN博主「feliciafay」的原創(chuàng)文章
    https://blog.csdn.net/feliciafay/article/details/12252727
    【5】 嚴蔚敏 吳偉民.《數(shù)據(jù)結(jié)構(gòu)(C語音版)》清華大學(xué)出版社

    附件:
    (一)棧的應(yīng)用——后綴表達式實現(xiàn)
    代碼:

    #include<stdio.h> typedef struct{char data[50];int top; }Stack,*S_ptr;void InitStack(S_ptr S){//初始化棧 for(int i=0;i<50;i++){S->data[i]='\0';}S->top=-1; }void Push(S_ptr S,char c){//壓入棧中printf("%c入棧\n",c); if(S->top==49){printf("棧滿\n");return ; }S->top++;S->data[S->top]=c;return ; }void Pop(S_ptr S,char &c){//彈出棧 if(S->top==-1){printf("棧空\n");return;}c=S->data[S->top];printf("%c出棧\n",c);S->top--;return; }char gettop(S_ptr S){if(S->top==-1){return '\0';}return S->data[S->top]; }void OutputStack(S_ptr S,int top) { int i; for(i=top;i>=0;i--) {printf("%c",S->data[i]);printf("\n"); } }int main(){Stack s;S_ptr S=&s;InitStack(S);char e;char a[100];printf("請輸入中綴表達式:");gets(a);Push(S,'#');//棧底元素為#for(int i=0;a[i]!='#';i++){if(a[i]!='+'&&a[i]!='-'&&a[i]!='*'&&a[i]!='/'&&a[i]!='('&&a[i]!=')') {printf("打印%c\n",a[i]);printf("此時棧狀態(tài):\n");OutputStack( S,S->top);}//非操作數(shù)直接輸出 else if(a[i]==')'){while(gettop(S)!='('&&gettop(S)!='\0'){//括號匹配 Pop(S,e);printf("%c\n",e);printf("此時棧狀態(tài):\n");OutputStack( S,S->top);}Pop(S,e);}else if(a[i]=='+'||a[i]=='-'){if(gettop(S)=='*'||gettop(S)=='/'){while(gettop(S)!='('&&gettop(S)!='#'){Pop(S,e);printf("打印%c\n",e);printf("此時棧狀態(tài):\n");OutputStack( S,S->top);}Push(S,a[i]);printf("此時棧狀態(tài):\n");OutputStack( S,S->top);}else {Push(S,a[i]);printf("此時棧狀態(tài):\n");OutputStack( S,S->top);} }else if(a[i]=='*'||a[i]=='/'){if(gettop(S)=='*'||gettop(S)=='/'){Pop(S,e);printf("打印%c\n",e);printf("此時棧狀態(tài):\n");OutputStack( S,S->top);Push(S,a[i]);printf("此時棧狀態(tài):\n");OutputStack( S,S->top);}else {Push(S,a[i]);printf("此時棧狀態(tài):\n");OutputStack( S,S->top);} } else {Push(S,a[i]);printf("此時棧狀態(tài):\n");OutputStack( S,S->top);} }while(S->data[S->top]!='#'){//將剩余的運算符號出棧Pop(S,e);printf("打印%c\n",e); printf("此時棧狀態(tài):\n"); OutputStack( S,S->top);}return 0; }數(shù)據(jù):a+b#(二) 圖的應(yīng)用——最小生成樹 代碼: //2.圖的應(yīng)用——最小生成樹 #include<iostream> #include<cstdlib> using namespace std; #define max_vertex_num 20 int max_weight=0;//記錄無向帶權(quán)圖中最大權(quán)值 typedef struct edgenode{//邊 int adjvex;//該邊所指向的頂點位置 edgenode *nextedge;//指向下一條邊的指針 int weight;//邊上的權(quán)值 }edgenode;typedef struct vnode{//頂點 int data;//頂點信息 edgenode *firstedge;//指向第一條依附該頂點的指針 }vnode,adjlist[max_vertex_num];typedef struct{//圖 adjlist vertices;//頂點向量 int vexnum,edgenum;//圖的當(dāng)前頂點數(shù)和邊數(shù) }graph;typedef struct node{//輔助數(shù)組,記錄已訪問的頂點及與其相連的邊中最小的權(quán)值 int adjvex;int lowcost; }node; node closedge[max_vertex_num];//查找頂點val在頂點向量中的位置 int local(graph G,int val) {for(int i=0;i<G.vexnum;i++){if(G.vertices[i].data==val)return i;}return -1; }//鄰接表法構(gòu)造無向圖G void creatUDG(graph &G) { cout<<"請依次輸入頂點數(shù)和邊數(shù):"<<endl;cin>>G.vexnum>>G.edgenum;for(int i=0,j=0;i<G.vexnum;i++,j++)//初始化頂點 {G.vertices[i].data=j;G.vertices[i].firstedge=NULL; }int i,j,k;int v1,v2;edgenode *e=NULL,*p=NULL,*q=NULL;cout<<"請依次輸入邊(Vi,Vj)上的頂點信息及權(quán)值:"<<endl;for(k=0;k<G.edgenum;k++)//初始化邊 {int weights=0;//暫時保存邊上的權(quán)值 cin>>v1>>v2>>weights;i=local(G,v1);//查找兩頂點在頂點向量中的位置 j=local(G,v2); if(G.vertices[i].firstedge==NULL){e=new edgenode;//新建邊結(jié)點 e->adjvex=j;e->nextedge=NULL;e->weight=weights; if(e->weight>max_weight)//尋找最大權(quán)值 max_weight=e->weight;G.vertices[i].firstedge=e;//將該邊結(jié)點接入第i個鏈表 }else{p=G.vertices[i].firstedge;while(p->nextedge!=NULL)//循環(huán)后移p指針,使其指向第i個鏈表中的最后一個結(jié)點 {p=p->nextedge;}e=new edgenode;//新建邊結(jié)點e->adjvex=j;e->nextedge=NULL;e->weight=weights; if(e->weight>max_weight)//尋找最大權(quán)值 max_weight=e->weight;p->nextedge=e;//將該邊結(jié)點接入第i個鏈表的末尾 }if(G.vertices[j].firstedge==NULL){e=new edgenode;e->adjvex=i;e->nextedge=NULL;e->weight=weights;G.vertices[j].firstedge=e;//將該邊結(jié)點接入第i個鏈表 }else{q=G.vertices[j].firstedge;while(q->nextedge!=NULL)//循環(huán)后移p指針,使其指向第i個鏈表中的最后一個結(jié)點 {q=q->nextedge;}e=new edgenode;e->adjvex=i;e->nextedge=NULL;e->weight=weights;q->nextedge=e;//將該邊結(jié)點接入第i個鏈表的末尾 }}max_weight++;for(i=0;i<G.vexnum;i++)//初始化輔助數(shù)組 closedge[i].lowcost=max_weight;//最小代價比最大權(quán)值還大,表示兩頂點無邊連接 }int findmin(graph G)//找權(quán)值最小的邊所關(guān)聯(lián)的頂點 {int i,result=-1;int min=max_weight;for(i=0;i<G.vexnum;i++)//遍歷輔助數(shù)組 {if(closedge[i].lowcost!=0&&min>closedge[i].lowcost){min=closedge[i].lowcost;result=i;}}return result; }//用普里姆算法從第u個頂點出發(fā)構(gòu)造無向有權(quán)圖G的最小生成樹T并輸出代價最小的路線 void minispantree_prim(graph G,int u) {int i,j,k,t1,t2;edgenode *p=NULL;k=local(G,u);p=G.vertices[k].firstedge;while(p)//與頂點u相連的邊的權(quán)值和頂點輸入輔助數(shù)組closedge[]{i=p->adjvex; closedge[i].adjvex=u;closedge[i].lowcost=p->weight;p=p->nextedge;}closedge[k].lowcost=0;//訪問過的頂點的邊的權(quán)值標記為0for(i=1;i<G.vexnum;i++) {k=findmin(G);t1=G.vertices[k].data;t2=closedge[k].adjvex;cout<<t2<<"->"<<t1<<endl; closedge[k].lowcost=0;p=G.vertices[k].firstedge;while(p){j=p->adjvex;if(closedge[j].lowcost>p->weight)//與上一頂點比較,輸入權(quán)值小的邊的權(quán)值和與其相連接的頂點{closedge[j].adjvex=G.vertices[k].data;closedge[j].lowcost=p->weight;}p=p->nextedge;}} }int main() {graph G;creatUDG(G);cout<<endl<<"請輸入開始頂點:"<<endl;int u;cin>>u;cout<<"代價最小的路線為:"<<endl;minispantree_prim(G,u);return 0; } 輸入數(shù)據(jù):請依次輸入頂點數(shù)和邊數(shù):7 9 頂點信息和權(quán)值: 0 1 28 1 2 16 2 3 12 3 4 22 4 5 25 5 0 10 1 6 14 3 6 18 4 6 24 輸入開始頂點:0 (三) 圖的應(yīng)用——活動圖 代碼: include<stdlib.h> #include<stdio.h> #include<malloc.h> #include<string.h> typedef int DataType; /*棧元素類型定義*/ #define MaxSize 50 /*最大頂點個數(shù)*/ #define StackSize 100 typedef struct {DataType stack[StackSize];int top; }SeqStack;void InitStack(SeqStack *S) /*將棧初始化為空棧只需要把棧頂指針top置為0*/ { S->top=0; /*把棧頂指針置為0*/ } int StackEmpty(SeqStack S) /*判斷棧是否為空,棧為空返回1,否則返回0*/ {if(S.top==0) /*判斷棧頂指針top是否為0*/return 1; /*當(dāng)棧為空時,返回1;否則返回0*/elsereturn 0; } int GetTop(SeqStack S, DataType *e) /*取棧頂元素。將棧頂元素值返回給e,并返回1表示成功;否則返回0表示失敗。*/ {if(S.top<=0) /*在取棧頂元素之前,判斷棧是否為空*/ {printf("棧已經(jīng)空!\n");return 0; } else {*e=S.stack[S.top-1]; /*在取棧頂元素*/return 1; } } int PushStack(SeqStack *S,DataType e) /*將元素e進棧,元素進棧成功返回1,否則返回0.*/ { if(S->top>=StackSize) /*在元素進棧前,判斷是否棧已經(jīng)滿*/ {printf("棧已滿,不能進棧!\n");return 0; } else {S->stack[S->top]=e; /*元素e進棧*/S->top++; /*修改棧頂指針*/return 1; } } int PopStack(SeqStack *S,DataType *e) /*出棧操作。將棧頂元素出棧,并將其賦值給e。出棧成功返回1,否則返回0*/ {if(S->top<=0) /*元素出棧之前,判斷棧是否為空*/{printf("棧已經(jīng)沒有元素,不能出棧!\n");return 0;}else {S->top--; /*先修改棧頂指針,即出棧*/*e=S->stack[S->top]; /*將出棧元素賦值給e*/return 1;} } int StackLength(SeqStack S) /*求棧的長度,即棧中元素個數(shù),棧頂指針的值就等于棧中元素的個數(shù)*/ {return S.top; } void ClearStack(SeqStack *S) /*將棧初始化為空棧只需要把棧頂指針top置為0*/ { S->top=0; /*把棧頂指針置為0*/ }/*圖的鄰接表類型定義*/ typedef char VertexType[4]; typedef int InfoPtr; /*定義為整型,為了存放權(quán)值*/ typedef int VRType;typedef enum{DG,DN,UG,UN}GraphKind; /*圖的類型:有向圖、有向網(wǎng)、無向圖和無向網(wǎng)*/ typedef struct ArcNode /*邊結(jié)點的類型定義*/ {int adjvex; /*弧指向的頂點的位置*/InfoPtr *info; /*弧的權(quán)值*/struct ArcNode *nextarc; /*指示下一個與該頂點相鄰接的頂點*/ }ArcNode; typedef struct VNode /*頭結(jié)點的類型定義*/ {VertexType data; /*用于存儲頂點*/ArcNode *firstarc; /*指示第一個與該頂點鄰接的頂點*/ }VNode,AdjList[MaxSize]; typedef struct /*圖的類型定義*/ {AdjList vertex;int vexnum,arcnum; /*圖的頂點數(shù)目與弧的數(shù)目*/GraphKind kind; /*圖的類型*/ }AdjGraph;int ve[MaxSize]; /*ve存放事件最早發(fā)生時間*/ int TopologicalOrder(AdjGraph N,SeqStack *T) /*采用鄰接表存儲結(jié)構(gòu)的有向網(wǎng)N的拓撲排序,并求各頂點對應(yīng)事件的最早發(fā)生時間ve*/ /*如果N無回路,則用用棧T返回N的一個拓撲序列,并返回1,否則為0*/ {int i,k,count=0;int indegree[MaxSize]; /*數(shù)組indegree存儲各頂點的入度*/SeqStack S;ArcNode *p;/*將圖中各頂點的入度保存在數(shù)組indegree中*/for(i=0;i<N.vexnum;i++) /*將數(shù)組indegree賦初值*/indegree[i]=0;for(i=0;i<N.vexnum;i++){p=N.vertex[i].firstarc;while(p!=NULL){k=p->adjvex;indegree[k]++;p=p->nextarc;}}InitStack(&S); /*初始化棧S*/for(i=0;i<N.vexnum;i++)if(!indegree[i]) /*將入度為零的頂點入棧*/PushStack(&S,i);InitStack(T); /*初始化拓撲序列頂點棧*/for(i=0;i<N.vexnum;i++) /*初始化ve*/ve[i]=0;while(!StackEmpty(S)) /*如果棧S不為空*/{PopStack(&S,&i); /*從棧S將已拓撲排序的頂點j彈出*/PushStack(T,i); /*j號頂點入逆拓撲排序棧T*/count++; /*對入棧T的頂點計數(shù)*/for(p=N.vertex[i].firstarc;p;p=p->nextarc) /*處理編號為i的頂點的每個鄰接點*/{k=p->adjvex; /*頂點序號為k*/if(--indegree[k]==0) /*如果k的入度減1后變?yōu)?,則將k入棧S*/PushStack(&S,k);if(ve[i]+*(p->info)>ve[k]) /*計算頂點k對應(yīng)的事件的最早發(fā)生時間*/ve[k]=ve[i]+*(p->info);}}if(count<N.vexnum){printf("該有向網(wǎng)有回路\n");return 0;}elsereturn 1; } int CriticalPath(AdjGraph N) /*輸出N的關(guān)鍵路徑*/ {int vl[MaxSize]; /*事件最晚發(fā)生時間*/SeqStack T;int i,j,k,e,l,dut,value,count,e1[MaxSize],e2[MaxSize];ArcNode *p;if(!TopologicalOrder(N,&T)) /*如果有環(huán)存在,則返回0*/return 0;value=ve[0];for(i=1;i<N.vexnum;i++)if(ve[i]>value)value=ve[i]; /*value為事件的最早發(fā)生時間的最大值*/for(i=0;i<N.vexnum;i++) /*將頂點事件的最晚發(fā)生時間初始化*/vl[i]=value;while(!StackEmpty(T)) /*按逆拓撲排序求各頂點的vl值*/for(PopStack(&T,&j),p=N.vertex[j].firstarc;p;p=p->nextarc)/*彈出棧T的元素,賦給j,p指向j的后繼事件k*/{k=p->adjvex;dut=*(p->info); /*dut為弧<j,k>的權(quán)值*/if(vl[k]-dut<vl[j]) /*計算事件j的最遲發(fā)生時間*/vl[j]=vl[k]-dut;}printf("\n");count=0;printf("計算輸出每條弧最早發(fā)生時間和最遲發(fā)生時間:\n 弧 e l l-e\n");for(j=0;j<N.vexnum;j++) /*求活動的最早開始時間e和最晚開始時間l*/for(p=N.vertex[j].firstarc;p;p=p->nextarc){k=p->adjvex;dut=*(p->info); /*dut為弧<j,k>的權(quán)值*/e=ve[j]; /*e就是活動<j,k>的最早開始時間*/l=vl[k]-dut; /*l就是活動<j,k>的最晚開始時間*/printf("%s→%s %3d %3d %3d\n",N.vertex[j].data,N.vertex[k].data,e,l,l-e);if(e==l) /*將關(guān)鍵活動保存在數(shù)組中*/{e1[count]=j;e2[count]=k;count++;}}printf("輸出該開發(fā)項目的最短開發(fā)周期:%d\n",ve[N.vexnum-1]);printf("計算輸出每條弧最早發(fā)生時間和最遲發(fā)生時間:");for(k=0;k<count;k++) /*輸出關(guān)鍵路徑*/{i=e1[k];j=e2[k];printf("(%s→%s) ",N.vertex[i].data,N.vertex[j].data);}printf("\n");return 1; } int LocateVertex(AdjGraph G,VertexType v) /*返回圖中頂點對應(yīng)的位置*/ {int i;for(i=0;i<G.vexnum;i++)if(strcmp(G.vertex[i].data,v)==0)return i;return -1; } void CreateGraph(AdjGraph *N) /*采用鄰接表存儲結(jié)構(gòu),創(chuàng)建有向網(wǎng)N*/ {int i,j,k,w;VertexType v1,v2; /*定義兩個弧v1和v2*/ArcNode *p;printf("請輸入圖的頂點數(shù),邊數(shù)(以逗號分隔): ");scanf("%d,%d",&(*N).vexnum,&(*N).arcnum);printf("請輸入%d個頂點的值:",N->vexnum);for(i=0;i<N->vexnum;i++) /*將頂點存儲在頭結(jié)點中*/{scanf("%s",N->vertex[i].data);N->vertex[i].firstarc=NULL; /*將相關(guān)聯(lián)的頂點置為空*/}printf("請輸入弧尾、弧頭和權(quán)值(以空格作為分隔):\n");for(k=0;k<N->arcnum;k++) /*建立邊鏈表*/{scanf("%s%s%*c%d",v1,v2,&w);i=LocateVertex(*N,v1);j=LocateVertex(*N,v2);/*j為弧頭i為弧尾創(chuàng)建鄰接表*/p=(ArcNode*)malloc(sizeof(ArcNode));p->adjvex=j;p->info=(InfoPtr*)malloc(sizeof(InfoPtr));*(p->info)=w;/*將p指向的結(jié)點插入到邊表中*/p->nextarc=N->vertex[i].firstarc;N->vertex[i].firstarc=p;}(*N).kind=DN; }void DestroyGraph(AdjGraph *N) /*銷毀無向圖G*/ {int i;ArcNode *p,*q;for(i=0;i<N->vexnum;++i) /*釋放網(wǎng)中的邊表結(jié)點*/{p=N->vertex[i].firstarc; /*p指向邊表的第一個結(jié)點*/if(p!=NULL) /*如果邊表不為空,則釋放邊表的結(jié)點*/{q=p->nextarc;free(p);p=q;}}(*N).vexnum=0; /*將頂點數(shù)置為0*/(*N).arcnum=0; /*將邊的數(shù)目置為0*/ }int main() {AdjGraph N;CreateGraph(&N); /*采用鄰接表存儲結(jié)構(gòu)創(chuàng)建有向網(wǎng)N*/CriticalPath(N); /*求網(wǎng)N的關(guān)鍵路徑*/DestroyGraph(&N); /*銷毀網(wǎng)N*/ } 實驗數(shù)據(jù): 請輸入圖的頂點數(shù),邊數(shù)(以逗號分隔): 8,10 請輸入8個頂點的值:v1 v2 v3 v4 v5 v6 v7 v8 請輸入弧尾、弧頭和權(quán)值(以空格作為分隔): v1 v2 3 v1 v2 4 v1 v4 6 v2 v5 3 v4 v7 3 v3 v5 1 v5 v7 3 v6 v8 4 v7 v8 5 v5 v6 5 (四)堆排序的應(yīng)用——Top K問題實驗代碼: //4.堆排序的應(yīng)用——Top K問題 #include<iostream> #include<string> using namespace std; #define max_arc_num 20 typedef struct arcnode{//弧(有向邊結(jié)構(gòu)體) string head,tail;//弧頭,弧尾 string weight;//弧上的權(quán)值 }arcnode;//全局變量 arcnode arc[max_arc_num];//弧的結(jié)構(gòu)體數(shù)組 int arclen=0;//數(shù)組長度 //輸入各條弧 void In_Put() {int i=1;arc[0].tail="0";arc[0].head="0";arc[0].weight="0";//數(shù)組零號元素不存儲弧 ,用于交換 記錄過程中暫存記錄 cout<<"請輸入各條弧的弧尾,弧頭,權(quán)值(-1表示結(jié)束輸入):"<<endl; while(cin>>arc[i].tail&&arc[i].tail!="-1"){cin>>arc[i].head>>arc[i].weight;i++;}arclen=i-1; }//已知arc[s...m]中除arc[s]外均滿足堆的特征,自上而下調(diào)整,使arc[s...m]也成為一個大頂堆 void heapadjust(arcnode arcs[],int s,int m){arcs[0]=arcs[s];for(int j=2*s;j<=m;j*=2)//沿著權(quán)值較大的孩子節(jié)點向下篩選 {if(j<m&&arcs[j].weight<arcs[j+1].weight) ++j;//先左右子樹根之間進行相互比較,j為權(quán)值較大的弧的所在下標if(arcs[0].weight>=arcs[j].weight)//根和子樹根之間相互比較 break;//找到arc[0]的插入位置,無需繼續(xù)往下調(diào)整 arcs[s]=arcs[j];//否則記錄上移,尚需繼續(xù)往下調(diào)整 s=j; }arcs[s]=arcs[0];} // 對弧的結(jié)構(gòu)體數(shù)組進行堆排序 void heapsort(arcnode arcs[]) {for(int i=arclen;i>0;--i)heapadjust(arcs,i,arclen);//建大頂堆(自下而上) for(int i=arclen;i>1;--i)//將堆頂記錄和當(dāng)前未經(jīng)排序子序列arc[1...i]中最后一個記錄相互交換 {arcs[0]=arcs[i];arcs[i]=arcs[1];arcs[1]=arcs[0]; heapadjust(arcs,1,i-1); //對arc[1]進行篩選 } } //輸出排序后的結(jié)果void Out_Put(){cout<<"按弧的權(quán)值由小到大,輸出各條有向弧(箭頭由弧尾指向弧頭):"<<endl; for(int i=1;i<=arclen;i++){cout<<arc[i].tail<<"->"<<arc[i].head<<' ';cout<<"該弧上的權(quán)值為:"<<arc[i].weight<<endl; } } //Top K排序void Top_K(int k,bool flag)//flag=0/1分別表示查找最小/最大K個元素 {if(flag){cout<<"權(quán)值最大的"<<k<<"條弧為:"<<endl; for(int i=arclen;i>arclen-k;i--){cout<<arc[i].tail<<"->"<<arc[i].head<<' ';cout<<"該弧上的權(quán)值為:"<<arc[i].weight<<endl; } }else{cout<<"權(quán)值最小的"<<k<<"條弧為:"<<endl; for(int i=1;i<=k;i++){cout<<arc[i].tail<<"->"<<arc[i].head<<' ';cout<<"該弧上的權(quán)值為:"<<arc[i].weight<<endl; } }} int main(){In_Put();//輸入各條弧 heapsort(arc);Out_Put();//輸出堆排序結(jié)果 int k,flag;cout<<"請輸入k值:"<<endl;cin>>k;cout<<"查找最大"<<k<<"個元素請輸入1,查找最小的"<<k<<"個元素請輸入0:"<<endl;cin>>flag; Top_K(k,flag); return 0;} 輸入數(shù)據(jù): 請輸入各條弧的弧尾,弧頭,權(quán)值(-1表示結(jié)束輸入): 1 2 6 1 3 4 1 4 5 2 5 1 3 5 1 4 6 2 5 7 9 5 8 7 6 8 4 7 9 2 8 9 4 -1 請輸入k值:5 查找最大5個元素請輸入1,查找最小的5個元素請輸入0:0

    總結(jié)

    以上是生活随笔為你收集整理的数据结构——课程设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    亚洲精色 | 国产亚洲视频在线免费观看 | 精品久久久成人 | 中文字幕第一 | 精品国产一区二区在线 | 亚洲综合色av | 国产高清精品在线观看 | 亚洲一级在线观看 | 夜夜躁日日躁狠狠久久av | 丁香六月综合网 | 丝袜美腿亚洲综合 | 成人久久久久 | 久久狠狠婷婷 | av电影不卡| 丁香国产视频 | 波多野结衣一区三区 | 免费av的网站 | 国产视频在线观看一区二区 | 天天曰| 免费的黄色av | 亚洲午夜在线视频 | 国产精品麻豆一区二区三区 | 天天狠狠干 | 久久久精品欧美一区二区免费 | 色黄视频免费观看 | 亚洲aaa毛片 | 在线播放你懂 | 日日日网| av软件在线观看 | 午夜精品一区二区三区免费视频 | 欧美日韩成人一区 | 五月婷婷一区 | 91xav| 91精品国产91久久久久福利 | 欧美日韩国产精品一区二区 | 久久毛片高清国产 | 久久久久在线视频 | 亚洲日本成人网 | 国产91精品看黄网站 | 偷拍久久久 | 国产精品久久一区二区三区, | 国产精品久久久久久99 | 99精品影视 | 91.麻豆视频| a黄色影院 | 在线a视频 | 日韩精品一区二区电影 | 欧美污污视频 | 久久久久亚洲精品国产 | 24小时日本在线www免费的 | 欧美日韩亚洲一 | 国产精品18久久久久久vr | 西西444www高清大胆 | 在线三级av| 99视频在线精品免费观看2 | 蜜桃av人人夜夜澡人人爽 | 国产精品观看视频 | 久久一级片 | 成年人免费看片网站 | 久久综合九色综合欧美就去吻 | 国产精品久久久久久久久久久久午夜 | 美女啪啪图片 | 午夜精品久久久久久99热明星 | 中文字幕一区二区在线播放 | 91在线产啪 | 亚洲精品视频网址 | 亚洲精品视频在线播放 | 91成熟丰满女人少妇 | 99精品视频在线观看播放 | 国产 视频 高清 免费 | 国产一区二区三区免费观看视频 | 亚洲精品一区二区在线观看 | 精品在线二区 | 免费黄色av.| av大全在线观看 | 成年人电影毛片 | 日日爽日日操 | 亚洲精品在线观看的 | 亚洲 欧美 精品 | 午夜视频免费播放 | 亚洲精品在线免费观看视频 | 国产精品久久久久久久免费 | 99精品久久久久 | 天天干天天操天天操 | 99re国产 | 五月天中文在线 | 久久精品欧美一区 | 国产韩国日本高清视频 | 国产精品高潮呻吟久久久久 | 国产精品成人自产拍在线观看 | 91资源在线视频 | 国产91九色蝌蚪 | 亚洲欧美日韩一区二区三区在线观看 | 美女视频a美女大全免费下载蜜臀 | 青青草国产精品 | 超碰97公开| 亚洲欧美综合精品久久成人 | 日韩精品免费专区 | 偷拍福利视频一区二区三区 | 久久桃花网 | av夜夜操 | 日韩在线三级 | 免费97视频 | 亚洲人人精品 | 91久久奴性调教 | 久久欧美视频 | 亚洲 欧美 变态 国产 另类 | 国产一区二区三区免费在线观看 | 日韩欧美视频在线观看免费 | 国产97视频在线 | 97超碰总站 | 一区二区精品在线视频 | 日韩欧美电影网 | 99精品国产一区二区三区麻豆 | 中文字幕在线视频一区二区 | av日韩国产| 成人黄色片在线播放 | 久久久免费av | 中文字幕色婷婷在线视频 | 色欧美视频 | 深夜免费福利在线 | 免费观看国产成人 | 久久久黄视频 | 五月婷婷香蕉 | 国产黄在线播放 | 国产在线精品福利 | 久精品视频 | 国产视频在线观看一区 | 国产成人精品一区二区三区福利 | 欧洲精品视频一区 | 久久视频精品在线观看 | 毛片永久新网址首页 | 日韩高清一 | 色综合天天视频在线观看 | 日韩欧美在线播放 | 久久福利影视 | 精品福利av | 中文字幕 国产 一区 | 日本免费一二三区 | 欧美精品一二 | 亚洲视频 视频在线 | 国产精品久久99精品毛片三a | 在线观看中文字幕一区 | 亚洲精品www.| 久久久久国产成人免费精品免费 | 亚洲精品一区二区久 | 天天爽夜夜爽人人爽曰av | 9在线观看免费高清完整版在线观看明 | 久久久久久久久久久久国产精品 | 精品久久免费 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 激情小说 五月 | 亚洲一区二区三区精品在线观看 | 国产精品日韩 | 欧美亚洲一级片 | 亚洲成人精品影院 | 99久久日韩精品免费热麻豆美女 | 一级片免费观看视频 | 91精品蜜桃 | 国产网红在线 | 在线蜜桃视频 | 这里只有精彩视频 | 国产精品视频99 | 四虎国产永久在线精品 | 婷婷六月在线 | 亚洲一区久久 | 蜜桃麻豆www久久囤产精品 | 欧美91精品国产自产 | 国产精品 日韩精品 | 日韩高清一二三区 | 久久久免费精品视频 | 在线播放亚洲 | 美女视频久久久 | 精品国产一区二区久久 | 国产亚洲一区二区在线观看 | 国产黄色片久久 | 国产免费又爽又刺激在线观看 | 日韩免费网址 | 国产精品久久久久久久久久久久午夜 | 欧美国产日韩一区二区 | 精品国产伦一区二区三区观看体验 | 奇米网444| 亚洲日韩中文字幕 | 五月婷婷操 | 黄免费在线观看 | 亚洲综合色婷婷 | 欧美污在线观看 | 成人h动漫在线看 | 中文字幕日韩电影 | 久久精品激情 | 正在播放亚洲精品 | 欧美日韩国产伦理 | 婷婷综合电影 | 四虎在线视频免费观看 | 国产乱老熟视频网88av | 亚洲精品日韩在线观看 | 国产专区一 | 伊人小视频 | 亚洲欧洲视频 | 国产午夜视频在线观看 | 国产精品嫩草55av | 成人av免费在线 | 成人av网站在线播放 | 欧美日韩久久不卡 | 亚洲va欧美va人人爽 | 久久香蕉国产精品麻豆粉嫩av | 免费亚洲黄色 | 国产精品久久久久久久午夜片 | av一级片网站 | 国产成人一区二区三区免费看 | 中文字幕久久精品 | 五月婷婷丁香激情 | 国产一二三四在线观看视频 | 五月天综合色 | 最新国产中文字幕 | 在线播放视频一区 | 日韩在线理论 | 99精品在线免费观看 | 日日夜夜天天 | 国产精品专区h在线观看 | 亚洲欧美日韩国产一区二区 | 国产1区在线 | 午夜精品久久久久久久久久久久久久 | 国产美女精品久久久 | 久久精品最新 | 在线免费视频a | 日韩欧美精品在线 | 中文字幕 第二区 | 人人舔人人舔 | 草久视频在线 | www好男人 | 九九热.com| 国产精品欧美一区二区 | 成人久久影院 | 久久好看 | 丁香花中文字幕 | 午夜丰满寂寞少妇精品 | 亚洲成人资源网 | 色综久久 | 97在线影院 | 国产99久久久精品 | 国产精品视频一二三 | 夜夜天天干 | www国产亚洲精品久久网站 | 91成品人影院 | 一区在线免费观看 | 麻豆国产露脸在线观看 | 国产精品久久人 | 超碰在线97观看 | 国产女人40精品一区毛片视频 | 免费福利在线视频 | 蜜臀一区二区三区精品免费视频 | 欧美一级乱黄 | 91九色最新地址 | 一区二区日韩av | 成人中文字幕+乱码+中文字幕 | 国产精品一区二区中文字幕 | 久久综合九色九九 | 国产免费一区二区三区最新 | 天天爱av导航 | 日韩aⅴ视频 | 精品国产视频一区 | 激情黄色av | 国产视频在线观看一区 | 日本黄区免费视频观看 | 亚洲国产精品va在线看 | 91丨porny丨九色 | 西西人体4444www高清视频 | 国产精品久久久久久久av电影 | 国产在线观看二区 | 99爱视频在线观看 | 国产精品女教师 | 日日夜夜免费精品视频 | 97在线影院| 成人在线免费看 | 日韩中文字幕免费视频 | 夜夜夜夜操 | 日韩在线中文字幕视频 | 一区二区三区电影大全 | 中文字幕色婷婷在线视频 | 激情久久五月 | 久久国产精品99久久久久久老狼 | 碰碰影院| 亚洲电影av在线 | 爱干视频 | 精品高清美女精品国产区 | 免费看国产视频 | 国产中文字幕一区二区三区 | 日本电影黄色 | 五月婷社区 | 免费看毛片在线 | 亚洲欧洲国产精品 | 国产高清福利在线 | 日韩午夜剧场 | 日本久久影视 | 亚洲天堂在线观看完整版 | 久久精品99国产精品亚洲最刺激 | 国产精品h在线观看 | 欧美激情第十页 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 一级c片| 国产一区在线观看免费 | 国产成人专区 | 在线不卡的av| 一区二区三区免费在线观看 | 国产精品青草综合久久久久99 | 久久久精品网站 | 精品久久久久久一区二区里番 | 日韩黄色中文字幕 | 婷婷色综| 日韩夜夜爽 | 久久爽久久爽久久av东京爽 | 婷婷av电影 | 亚洲国产日韩精品 | 在线免费观看视频你懂的 | 久青草国产在线 | 就操操久久 | 国产一级在线免费观看 | 69国产成人综合久久精品欧美 | 精品亚洲午夜久久久久91 | 亚洲少妇影院 | 在线观看网站av | 日韩欧美精品在线观看视频 | www久| 成人h电影在线观看 | 少妇资源站 | 一区二区亚洲精品 | 欧美精品一区二区在线播放 | 91在线看网站 | 黄av免费在线观看 | 热精品| 精品特级毛片 | 色欧美日韩 | 黄色大全在线观看 | 亚洲va在线va天堂va偷拍 | 亚洲国产精品资源 | 91精品国产网站 | 九九视频免费在线观看 | 99草视频 | 成人免费影院 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 91精品国产自产老师啪 | 99综合电影在线视频 | 日韩天天干 | 日韩电影精品 | 91黄色免费看 | 欧美日韩在线看 | 99se视频在线观看 | 国语麻豆| 中文一区在线 | 丁香六月久久综合狠狠色 | 日本在线观看一区二区 | 在线导航福利 | 日韩欧美在线第一页 | 久久综合五月天 | 久久香蕉国产精品麻豆粉嫩av | 天天天色综合 | 国产91粉嫩白浆在线观看 | 一区二区视频在线观看免费 | 色先锋av资源中文字幕 | 午夜精品一区二区三区视频免费看 | 婷婷五天天在线视频 | 999精品网| 天天操天天拍 | av女优中文字幕在线观看 | 亚色视频在线观看 | 996久久国产精品线观看 | 在线观看网站av | 久久久精品高清 | 精品视频| 日b视频在线观看网址 | 成人av资源 | 黄色片网站大全 | 久久婷婷精品视频 | 国产永久免费高清在线观看视频 | 欧美韩国日本在线观看 | 在线免费观看黄色 | 欧美精品久久99 | 韩国一区二区三区视频 | 五月天堂网 | 久艹视频在线免费观看 | 免费男女网站 | 精品国内 | www.99热精品| 成年人视频在线免费观看 | www.午夜| 国产国语在线 | 在线成人看片 | 天天插日日插 | 久久精品—区二区三区 | 久久九九久久精品 | 日本在线免费看 | 免费婷婷| 草久电影| 91综合色 | 亚洲九九影院 | 夜色资源站wwwcom | 日韩在线视 | 又色又爽的网站 | 欧美91视频 | 69热国产视频 | 美女视频久久黄 | 超碰伊人网 | 欧洲精品亚洲精品 | 国产一区在线视频 | 亚洲精品白浆高清久久久久久 | 国产又黄又猛又粗 | 99精品热| 久久国产精品99久久人人澡 | a在线观看国产 | 亚洲色图美腿丝袜 | 狠狠的干狠狠的操 | 干干干操操操 | 亚洲激色 | 成人一级片视频 | 三级黄色网址 | 97超碰在线久草超碰在线观看 | 国产一级精品视频 | 97视频在线免费播放 | 欧美在线视频一区二区 | 在线黄色av | 最近中文字幕mv免费高清在线 | a级片久久久 | 国产亚洲成人网 | 黄色a视频 | 亚洲国产网站 | 狠狠操狠狠干天天操 | 日韩精品一区二区在线视频 | 中文字幕最新精品 | 一区二区三区影院 | 五月的婷婷 | 尤物九九久久国产精品的分类 | 在线a人v观看视频 | 国产精品黑丝在线观看 | 久99久在线视频 | 热久久免费视频精品 | 久久激情精品 | 99久久婷婷 | 精品一区电影 | 日韩手机在线观看 | 国产伦理剧 | 色噜噜日韩精品欧美一区二区 | 国产精品1区 | 福利视频一区二区 | 亚洲一区二区三区毛片 | 亚州精品视频 | 在线观看视频黄 | 美女在线观看网站 | 精品国产一区二区三区久久 | 五月综合 | 九七视频在线观看 | 欧美激情综合五月色丁香 | 中文字幕乱码电影 | 成人av免费在线播放 | 草久久精品 | av电影免费观看 | 国产一级黄 | 国产免费观看高清完整版 | 国产精品久久久久久久久久久免费看 | 人交video另类hd | 欧美aaa一级 | 午夜婷婷在线观看 | 免费视频久久久 | 99999精品视频 | 国产小视频在线观看免费 | 久草影视在线 | 国产精品av免费在线观看 | 久99久中文字幕在线 | 日一日干一干 | 少妇bbb好爽 | 在线看欧美 | 色操插| 免费在线色电影 | 色综合天天综合网国产成人网 | 中文字幕 成人 | 国产视频欧美视频 | 久久久久亚洲国产精品 | www国产亚洲精品久久网站 | 国内久久 | 99产精品成人啪免费网站 | 中文字幕av免费在线观看 | 久久99国产精品免费 | 国产欧美日韩精品一区二区免费 | 国产精品高潮呻吟久久久久 | 五月天激情视频 | 欧美91精品久久久久国产性生爱 | 日韩理论 | 久久96国产精品久久99漫画 | 欧美性色综合网 | 99c视频在线 | www178ccom视频在线 | 亚洲精品资源在线 | 亚洲电影av在线 | 日韩在线免费高清视频 | 色综合天天做天天爱 | 99视频 | 99视频 | 亚洲影视九九影院在线观看 | 韩国一区二区三区视频 | 激情网五月婷婷 | 亚洲国产mv | 久久免费在线观看 | av成人免费网站 | 97超碰.com| 日本久久精 | 人九九精品 | 国产在线不卡一区 | 欧美日韩国产亚洲乱码字幕 | 日韩电影一区二区在线 | 国产一区二区三区四区大秀 | 最近中文字幕在线中文高清版 | 成人午夜av电影 | 欧美一区在线观看视频 | 久久久久久久久久久久久久电影 | 激情网站五月天 | 精品欧美日韩 | 欧美一级视频免费 | 精品国产成人av | 99久久日韩精品免费热麻豆美女 | 久久成人亚洲欧美电影 | 在线观看视频福利 | 国产99久久久国产精品 | 免费电影播放 | 丁香婷婷网| 天天插狠狠插 | 五月婷婷六月丁香激情 | 男女拍拍免费视频 | 美女网站视频免费黄 | 国产精品久久久久久久电影 | 精品在线观看免费 | 中文字幕91视频 | 在线观看黄av | 国产一级免费播放 | 国产在线不卡一区 | 丝袜制服综合网 | 毛片无卡免费无播放器 | 中文字幕乱码日本亚洲一区二区 | 日韩网 | 综合婷婷久久 | 九色精品在线 | 99精品免费观看 | 免费99视频 | 日韩精品一区二区三区免费观看 | 久久男女视频 | 婷婷香蕉 | 日韩国产精品一区 | av免费观看网址 | 国产黄色高清 | 中文亚洲欧美日韩 | 免费午夜av | 一级黄色电影网站 | 91精品国产99久久久久久红楼 | 97超碰人人澡 | 国产精品专区在线观看 | 亚洲jizzjizz日本少妇 | 国产亚洲欧美精品久久久久久 | 一区二区观看 | 亚洲久草网 | 国产69久久精品成人看 | 国产精品美女久久久久久久久久久 | 在线观看国产一区 | 最新中文字幕在线观看视频 | 免费日韩视频 | 国产成人精品午夜在线播放 | 久久精品毛片 | 91在线观看视频网站 | 午夜色影院 | 日韩视频在线观看视频 | 456免费视频 | 国产成人在线一区 | 五月婷婷在线视频观看 | 在线三级播放 | 国产精品成人av电影 | 91精选 | 91亚洲精品久久久久图片蜜桃 | 日韩免费小视频 | 成人全视频免费观看在线看 | 国产一区二区在线播放 | 亚洲a网| 激情伊人 | 欧美日韩精品在线 | 久久综合欧美精品亚洲一区 | 三日本三级少妇三级99 | 在线欧美小视频 | 国产黄色视 | 美女网站在线免费观看 | 亚洲高清激情 | 欧美精品久久久久久久亚洲调教 | 国产尤物视频在线 | 91麻豆视频 | 日韩在线视频网址 | 国产精品久久久久久久久久久免费 | 欧美一级性生活 | 久久艹久久 | 黄色a大片| 国产精品久久久久毛片大屁完整版 | 毛片随便看 | 亚洲精品456在线播放乱码 | 久久综合天天 | 成人黄色片免费看 | 一区二区三区四区精品视频 | 色婷婷一区| 亚洲国产大片 | 久久99精品久久久久蜜臀 | 欧美精彩视频在线观看 | 黄色一级在线免费观看 | 五月天精品视频 | 免费视频一级片 | 人人躁| wwxxxx日本| 青青河边草观看完整版高清 | 亚洲黄色在线 | 日韩电影一区二区三区 | 99在线高清视频在线播放 | 国产三级香港三韩国三级 | 色五月成人 | 永久免费精品视频 | 国产成人99av超碰超爽 | 91色蜜桃| 国产美女精品视频 | 免费在线一区二区 | 国产精品大片在线观看 | 国产精品久久在线观看 | 激情婷婷综合网 | 国产二区视频在线观看 | 激情小说久久 | 懂色av懂色av粉嫩av分享吧 | 手机av看片 | 婷婷色中文网 | 日韩欧美一区二区在线观看 | av在线官网 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 毛片.com | 在线观看色网 | 亚洲va天堂va欧美ⅴa在线 | 久久久久久久久久久久99 | 99在线高清视频在线播放 | 国产精品黄色在线观看 | 一级电影免费在线观看 | 小草av在线播放 | 久久特级毛片 | 夜色资源站wwwcom | 麻豆成人精品视频 | 黄色一级免费电影 | 欧美亚洲另类在线视频 | 国产打女人屁股调教97 | 伊人电影天堂 | 香蕉久草 | 成人三级av | 亚洲一区精品二人人爽久久 | 色999视频 | 国产精品福利无圣光在线一区 | 久久 地址 | 国产一级片免费视频 | 伊人国产视频 | 色欧美综合 | 欧美日韩精品国产 | 天天天天综合 | 日本视频久久久 | 欧美另类v | 免费在线观看毛片网站 | 九九九九九精品 | 久久久精品高清 | 最近中文字幕视频完整版 | 国产在线观看你懂得 | 69精品在线观看 | 成人在线视频你懂的 | 91大神精品视频 | 99色| 不卡av免费在线观看 | www成人精品| 五月天视频网 | 欧美另类调教 | 成人性生交大片免费观看网站 | 8x成人免费视频 | 激情av五月婷婷 | 丁香花五月| 91最新视频 | 九九九九九精品 | 久久国产精品视频免费看 | 麻豆系列在线观看 | 日本韩国精品一区二区在线观看 | 成人小视频在线免费观看 | 亚洲精品视频久久 | 国产精品一区一区三区 | 欧美精选一区二区三区 | 国产二区视频在线 | 亚洲精品久久激情国产片 | 最近中文字幕免费大全 | 九九亚洲视频 | 一级性生活片 | 香蕉久久久久久av成人 | 黄网站污 | 99久久er热在这里只有精品15 | 天天综合网天天 | 亚洲一级电影在线观看 | 久久久久久久福利 | 中文在线天堂资源 | 亚洲精品久久久久999中文字幕 | 国产成人精品一区二三区 | 精品视频免费播放 | 国产成人在线看 | 久久国产精品久久精品 | 午夜久久精品 | 99精品欧美一区二区 | 国产福利在线免费观看 | 中文字幕黄色网 | 欧美激情xxxx性bbbb | 国产精品黄色在线观看 | 成人a级网站 | 国产一区二区在线观看视频 | 精品一二三区 | 中文字幕日本在线 | 亚洲 欧美 国产 va在线影院 | 国产明星视频三级a三级点| 成人黄色毛片视频 | 国产精品美女久久久免费 | 国产一级片视频 | 在线观看黄网站 | 国产原创av在线 | 欧美在线视频二区 | 精品伦理一区二区三区 | 国产成人一区三区 | 五月天六月色 | 丁香六月婷婷开心婷婷网 | 亚洲精品国 | 97国产一区二区 | 六月丁香激情综合色啪小说 | 精品国产一区二区三区久久影院 | 天天操天天干天天爱 | 2021国产精品 | 中文字幕之中文字幕 | 国产精品一区二区久久久久 | 国产精品日韩在线播放 | 亚洲精品国产综合99久久夜夜嗨 | 国产99亚洲 | 久久经典国产视频 | 在线国产福利 | 午夜av网站 | 中文字幕欧美日韩va免费视频 | 国产在线a不卡 | 亚洲精品网站 | 天天干一干 | 天天色天天色天天色 | av网站在线观看免费 | 精品国产理论片 | 在线免费观看麻豆视频 | 特级大胆西西4444www | 亚洲色五月 | 天天草综合网 | 午夜视频在线观看网站 | 精品国产一区二区三区久久影院 | 99久久精品久久亚洲精品 | 亚洲人在线 | 日韩免费观看一区二区三区 | 日韩一区二区免费播放 | 中文字幕av最新更新 | 最近中文字幕在线播放 | 久久久免费毛片 | av亚洲产国偷v产偷v自拍小说 | av观看网站 | 午夜免费视频网站 | 五月婷婷丁香激情 | 网站在线观看日韩 | www免费网站在线观看 | 不卡av在线播放 | 久久精品久久精品久久精品 | 蜜臀av夜夜澡人人爽人人桃色 | 草久热 | 国产精品成人免费精品自在线观看 | 天天操天天添天天吹 | 色播99 | 中文字幕 婷婷 | 最近免费观看的电影完整版 | 99精品国产一区二区三区麻豆 | 丁香久久激情 | 久要激情网 | 国产区在线看 | 日韩av专区 | 国产成人精品国内自产拍免费看 | 久久久午夜视频 | 日韩欧美在线综合网 | 九色精品免费永久在线 | 精品一区三区 | 国产v在线播放 | 91精品国产欧美一区二区成人 | 免费a现在观看 | 91热在线| 久久久免费精品国产一区二区 | 日韩在线在线 | 亚洲视频在线免费看 | 中文视频在线播放 | 国产精品国产亚洲精品看不卡15 | 中文字幕 第二区 | 亚洲一级黄色片 | 九九热免费在线视频 | 精品久久一区二区 | 91在线视频| av在线8 | 中文乱码视频在线观看 | 日韩手机在线观看 | 国产1区2 | 国产日韩欧美视频 | 久久久国产精品亚洲一区 | 亚洲日本国产 | 久久视频免费 | 国产精品一区二区免费在线观看 | 婷婷综合在线 | 狠狠狠狠狠狠操 | 国产小视频在线免费观看视频 | 午夜18视频在线观看 | 国产小视频网站 | 国产精品99精品久久免费 | 久久久久亚洲精品中文字幕 | 久久躁日日躁aaaaxxxx | 色.www | 人人爽网站 | 色婷婷 亚洲 | 中文av日韩 | 亚洲黄色成人av | 午夜精品视频福利 | 综合激情网| 在线观看日韩 | 国产一线天在线观看 | 91x色| 久久久香蕉视频 | 六月激情 | 亚洲精品www | 亚洲乱亚洲乱亚洲 | 毛片在线播放网址 | 一区二区三区久久精品 | 一区二区视频在线播放 | 国产一线天在线观看 | 奇米网777| av福利在线导航 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 97精品国产97久久久久久 | 亚洲精品视频在线观看视频 | 国产成人精品一区二区三区福利 | 嫩草av影院| 精品一区二区av | 亚洲h视频在线 | 日韩免费视频观看 | 天天操人人要 | 91大神在线观看视频 | 在线观看一区二区精品 | 久久久午夜视频 | 精品福利视频在线观看 | 8x8x在线观看视频 | 99色免费视频 | 日日夜夜添 | 天天摸天天舔天天操 | 五月激情五月激情 | 91传媒91久久久 | 亚洲精品中文字幕在线观看 | 中文字幕在线观看免费高清电影 | 成人欧美日韩国产 | 成人在线观看你懂的 | 丁香色婷 | 国产日产精品一区二区三区四区 | 狠狠色狠狠色综合系列 | 99精品国产视频 | 国产韩国精品一区二区三区 | 精品在线观看国产 | 国产人成免费视频 | 成人亚洲免费 | 免费高清在线一区 | 亚州av免费 | 一区二区三区四区五区在线 | 日韩一区在线免费观看 | 最近免费观看的电影完整版 | 精品国产成人 | 日韩欧美大片免费观看 | 久久爱综合| 特级毛片在线免费观看 | 九九热只有这里有精品 | 狠狠干夜夜爱 | 色姑娘综合天天 | 玖玖视频网 | 中文字幕区 | 女人18片| 久久精品高清 | 久久久精品国产免费观看同学 | 亚洲婷久久 | 91成人精品一区在线播放69 | 国产人成一区二区三区影院 | 亚洲女人天堂成人av在线 | 麻豆国产在线视频 | 免费a现在观看 | 在线观看免费成人av | 国产亚洲精品美女 | 97色婷婷| 久久久久福利视频 | 一区二区三区视频在线 | 在线观看国产日韩欧美 | 欧美精品九九99久久 | 国产精品成人自产拍在线观看 | 一区二区 不卡 | 亚洲欧美国内爽妇网 | 国产一级视屏 | 2019天天干天天色 | 国产精品一区二区三区在线看 | 麻豆免费在线视频 | 婷婷久久五月天 | 国产综合精品久久 | 97国产精品视频 | 香蕉久草在线 | 亚洲黄色一级视频 | 在线观看第一页 | 国产精品第二页 | 超碰人人射 | 亚欧日韩成人h片 | 婷婷亚洲五月色综合 | 人人干在线 | 九九久 | 成年人免费在线播放 | 日韩在线免费不卡 | 国产精品一区二区免费在线观看 | 在线免费高清一区二区三区 | 欧美日韩精品在线观看视频 | 日韩av一区二区三区 | 久久网址 | 91视频啊啊啊 | 久在线| 国产色在线视频 | 中文字幕欲求不满 | 欧美日韩大片在线观看 | 中文字幕久久精品一区 | 久久免费在线观看 | 亚洲狠狠 | 黄色亚洲精品 | 92精品国产成人观看免费 | 午夜手机电影 | 丁香婷婷综合五月 | 成人啪啪18免费游戏链接 | 91高清免费看 | 国产高清久久久 | 97香蕉视频 | 中文欧美字幕免费 | 色窝资源| 中文字幕 国产视频 | 91重口视频| 久操97| 日本黄色大片免费 | 麻豆一二三精选视频 | 日韩最新中文字幕 | 亚洲a在线观看 | 欧美亚洲免费在线一区 | 亚洲综合激情小说 | 国产精品永久在线 | 五月婷婷操 | 91av在线免费观看 | 五月婷婷六月综合 | 人人爽久久涩噜噜噜网站 | 中文字幕在线第一页 | 九七人人干| 天天av综合网 | 波多野结衣理论片 | 日韩黄色在线 | 91秒拍国产福利一区 | 五月婷婷免费 | 最近日本韩国中文字幕 | 亚洲 欧美 91 | 高清中文字幕av | 国产在线v | 91成人短视频在线观看 | 日韩在线免费视频观看 | 97碰碰精品嫩模在线播放 | 日韩av在线影视 | 91亚洲视频在线观看 | 国产一级免费观看 | 大胆欧美gogo免费视频一二区 | 久久综合色天天久久综合图片 | 婷婷亚洲综合五月天小说 | 97人人澡人人爽人人模亚洲 | 国产91精品一区二区麻豆网站 | 超碰在线最新网址 | 欧美激情精品久久久久久 | 国产在线免费观看 | 一级黄色片毛片 | 天天色天天射天天操 | 精品v亚洲v欧美v高清v | a v在线视频 | 欧美男男激情videos | av在线网站免费观看 | 久久综合久久综合久久 | 国产精品自产拍在线观看 | 日韩精品黄 | 亚洲va在线va天堂 | 国产视频黄 | 干天天| 精品免费久久久久 | 成人动图 | 干狠狠| 亚洲午夜小视频 | www..com毛片 | 国产黄色视 | 国产你懂的在线 |