亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

Set-top

  • DAKOTA

    Computational models are commonly used in engineering design and scientific discovery activities for simulating complex physical systems in disciplines such as fluid mechanics, structural dynamics, heat transfer, nonlinear structural mechanics, shock physics, and many others. These simulators can be an enormous aid to engineers who want to develop an understanding and/or predictive capability for complex behaviors typically observed in the corresponding physical systems. Simulators often serve as virtual prototypes, where a set of predefined system parameters, such as size or location dimensions and material properties, are adjusted to improve the performance of a system, as defined by one or more system performance objectives. Such optimization or tuning of the virtual prototype requires executing the simulator, evaluating performance objective(s), and adjusting the system parameters in an iterative, automated, and directed way. System performance objectives can be formulated, for example, to minimize weight, cost, or defects; to limit a critical temperature, stress, or vibration response; or to maximize performance, reliability, throughput, agility, or design robustness. In addition, one would often like to design computer experiments, run parameter studies, or perform uncertainty quantification (UQ). These approaches reveal how system performance changes as a design or uncertain input variable changes. Sampling methods are often used in uncertainty quantification to calculate a distribution on system performance measures, and to understand which uncertain inputs contribute most to the variance of the outputs. A primary goal for Dakota development is to provide engineers and other disciplinary scientists with a systematic and rapid means to obtain improved or optimal designs or understand sensitivity or uncertainty using simulationbased models. These capabilities generally lead to improved designs and system performance in earlier design stages, alleviating dependence on physical prototypes and testing, shortening design cycles, and reducing product development costs. In addition to providing this practical environment for answering system performance questions, the Dakota toolkit provides an extensible platform for the research and rapid prototyping of customized methods and meta-algorithms

    標簽: Optimization and Uncertainty Quantification

    上傳時間: 2016-04-08

    上傳用戶:huhu123456

  • 抓包工具fi

    Fiddler is a free web debugging tool which logs all HTTP(S) traffic between your computer and the Internet. Inspect traffic, set breakpoints

    標簽: 抓包 網絡

    上傳時間: 2016-06-03

    上傳用戶:ttry

  • 透明音樂播放器

    [開源 綠色軟件] [運行環境 Windows XP/7/8/10] [語言 簡體/繁體/English/Unicode] A cool music player. Powered by Bass and BassVis. 極簡本地音樂播放器,透明、純文本界面。支持輕媒體庫、歌詞、可視化。最小化到托盤,占用資源少,適合邊聽音樂邊工作。 應網友要求,加入了Tag編輯、自動切換列表、播放隊列、鼠標手勢、均衡器、音頻設備選擇、全局音量滾輪(托盤區域)、字體設置、極簡模式、鼠標穿透、嵌入桌面、簡單布局等功能。 homepage> mcool.appinn.me ==================================================== 音頻格式APE、FLAC、WavPack、MP3、OGG、TTA、TAK、Musepack、AAC、AC3、WMA、Wav、CD、ALAC、Aiff、MOD、CUE ==================================================== 更新歷史:     3336 -2016.3.25 點睛之筆:任意布局(追上foobar2000)。Arbitrary layout (all in one).     3330 -2016.3.10 一體布局之比例調節(初具foobar2000風貌)。Ratio adjust (all in one).     3308 -2015.11.28 歌詞微調(在選項>常規>鼠標手勢里設置)。Adds function of lyrics tuning.     3306 -2015.11.15 電臺模式(整點時切換歌曲或列表,并非在線音樂),以及多聲卡支持。Adds radio mode, and multi sound card support.     3300 -2015.10.15 完善細節,修復切歌卡住bug。完美版。Fixes some bugs.     3280 -2015.8.1   簡單布局功能。Layout (all in one) function.     3260 -2015.6.1   Win10模式。Win10 mode.     3252 -2015.5.10  任務欄進度條。Taskbar progress display.     3236 -2015.4.10  點睛之筆:透明度調節。Adds function of transparency tuning.     3232 -2015.3.25  自定義軟件名(請在mcool.ini中手動修改)。Adds function of customizing app name.     3230 -2015.3.12  Airplay復刻界面。Airplay interface copy.     3218 -2015.1.20  桌面歌詞。Desktop lyrics.     3216 -2015.1.12  一體化界面(學習Foobar2000和豆瓣FM)。All in one interface.     3212 -2015.1.6   新增Winamp音效插件支持(學習千千靜聽),以及滾輪穿透功能(學習Airplay3)。Adds Winamp DSP plugins support, and adds function of wheel transparent.     Winamp音效插件下載:http://uploadgeneration.info/Winamp/www.winamp.com/plugins/dsp-effect/5/top-rated.html     3210 -2014.12.28 重要更新:本地音量調節、自定義鼠標鍵/手勢。Adds local volume control, and adds fuction of customizing mouse control / gesture.     3208 -2014.11.25 簡化右鍵菜單,常規項目移到選項窗口。Simplifies the popup menu, moves the general items to option window.     3206 -2014.11.22 新增文本對齊選項,重新設計導航按鈕。Adds option of text alignment, and redesigns the buttons of playback.     3202 -2014.11.10 新增播放記憶、片段循環(Hotkey: Ctrl+1/2)和貼邊隱藏功能。Adds functions of playback memory, AB repeat and screen side hide.     3200 -2014.11.5  新增無界面選項(先去掉托盤圖標,然后Ctrl+Alt+W隱藏界面,Ctrl+Alt+X關閉)。Adds option of no interface.     3191 -2014.8.26  嵌入桌面。Pins to desktop.     3190 -2014.8.19  音樂管理第一步:列表分組。Playlists grouping.     3186 -2014.8.10  基于列表的分級系統(Hotkey:0..5)。Rating system based on playlist.     3181 -2014.8.1   啟用新圖標(由虹吸墨作者BGLL友情制作)。Uses the new icon.     3180 -2014.7.22  新增Win7任務欄特效。Adds windows 7 taskbar effect.     3166 -2014.6.29  重要更新:自動下載專輯封面(源于歌詞迷)。Downloads album covers from geci.me.     3160 -2014.6.1   重要更新:新增極簡模式,以及OGG/Opus內置封面顯示功能。Adds minimalist mode, and adds function of displaying cover embedded in OGG/Opus.     3152 -2014.5.18  添加托盤右鍵菜單,新增MP4/M4A(ALAC)內置封面顯示功能。Adds systray popup menu, and adds function of displaying cover embedded in MP4/M4A(ALAC).     3151 -2014.5.1   重新設計可視化效果,新增示波器效果。Redesigns visual effects, and adds oscilloscope effect.     3150 -2014.4.20  采用歌詞迷API下載歌詞。Downloads lyrics from geci.me.     3136 -2014.3.30  加入可選的按鈕,以及鼠標穿透功能。Adds function of transparent window.     3132 -2014.3.6   簡化界面,向Foobar2K看齊;增加正在播放面板。Simplifies the interface, and adds now playing panel.     3130 -2014.2.26  重要更新:按照專輯分組。Grouping by album.     3120 -2014.2.18  優化字體渲染(Windows7/8下)。Optimizes font rendering in Windows 7/8.     3110 -2014.1.26  點睛之筆:自定義字體顏色。Adds function of customizing font color.     3108 -2013.11.16 Last.fm同步功能(請到主頁下載插件)。Last.fm scrobbler support.     3106 -2013.11.8  可回溯的隨機播放(學習Airplay 2)。Random playback can be traced back.     3103 -2013.10.12 優化右鍵菜單。Optimizes popup menu.     3102 -2013.9.30  修改滾動條樣式,增加音頻緩沖選項。Modifies style of scroll bar, and adds option of audio buffer length.     3100 -2013.9.10  無邊框設計;迷你模式也可以不置頂(Hotkey:T)。Borderless designs.     3086 -2013.8.20  增加歌詞面板功能。Adds function of lyrics panel.     3082 -2013.8.08  增加在可視化界面顯示歌詞功能。Adds function of displaying lyrics on visual interface.     3080 -2013.8.01  新增設置字體功能,恢復簡單的自動關機功能。Adds function of setting font, and re-adds simple function of auto shutdown.     3060 -2013.6.26  修復在迷你模式停止響應的Bug,去掉自動關機、歌詞調整功能。Fixes bug of stop responding in mini mode, and removes functions of auto shutdown and lyrics trimming.     3050 -2013.5.23  增加手勢功能。Adds gesture function.     3030 -2013.3.10  增加Aero磨砂玻璃效果[如需源碼請聯系我],XP/Win7/8無差別顯示,按Insert鍵開啟。Adds aero glass effect.     3020 -2013.2.23  增加簡易Tag編輯功能(選中并單擊即可,相當于資源管理器中的重命名,按照[歌手 - 歌名][專輯]格式進行編輯)。Adds function of editing audio tags (select and click, edit with [artist - title][album] format).     3010 -2013.1.23  應網友要求,加入讀取內嵌CUE、歌詞及專輯封面功能。Adds function of reading CUE, LRC and album cover built in media.     3002 -2012.11.03 無按鈕設計;微調進度條尺寸。Buttonless design; modifies the size of the progress bar.     3001 -2012.10.15 重要改進,界面即按鈕:單擊 - 播放/暫停,按住 - 前進。Important update, the interface is a button: Click - Play/Pause, Hold Down - Next.     3000 -2012.9.28  增加Win8模式。Adds Win8 mode option.     2982 -2012.8.26  在Win8下使用微軟雅黑字體。Uses Microsoft YaHei font in Windows 8 CHS.     2981 -2012.8.20  視頻以插件提供(請到主頁下載),增加單曲循環功能。Adds function of repeat track.     2980 -2012.7.26  簡化代碼,去掉視頻和MIDI支持。Removes the video and MIDI support.     2970 -2012.7.20  增加媒體信息顯示功能。Adds function of displaying media info.     2960 -2012.6.28  增加專輯封面顯示功能(Hotkey:Ins)。Adds function of displaying album cover.     2956 -2012.6.01  再次簡化界面。Simplifies the interface again.     2952 -2012.4.28  增加音頻設備選擇功能:DS、ASIO、WASAPI。Adds function of selecting playback device.     2950 -2012.3.30  *增加滾輪調節音量功能(在托盤,中鍵靜音)和媒體鍵支持。Adds function of setting volume by mouse wheel (over systray, middle click to mute), and adds multimedia keys support.     2936 -2012.3.17  微調界面,修復物理刪除失效的BUG。Fine-tunes the interface, and restores the physical delete function.     2930 -2012.2.27  增加TAK格式支持。Adds TAK format support.     2923 -2012.2.12  緊急修復上一版出現的字體模糊BUG(Vista/Win7下),增加在任務欄顯/隱圖標功能(Ctrl+T)。Fixes font vague bug for Vista/Win7, and adds showing/hiding icon on taskbar function.     2920 -2012.2.08  微調界面,優化CPU占用(啟用背景圖片時)。Fine-tunes the interface, and optimizes CPU utilization (while enable background image).     2912 -2012.1.12  增加播放隊列功能。Adds playback queue function.     2910 -2011.12.25 改進迷你模式,增加查找功能。Improves mini mode, and adds find function.     *注:此功能對殺毒軟件過敏,開啟方法:按F1進入選項,勾選全局快捷鍵。The feature is allergic to the anti-virus software.

    標簽: 透明 音樂播放器

    上傳時間: 2016-06-10

    上傳用戶:fanghua

  • asp實現限制一個ip只能訪問一次的方法

    asp實現限制一個ip只能訪問一次的方法 <%  '/////////////////////////////////////////////////////  '// //  '//作用:一個IP地址只允許訪問本頁一次 //  '//引用:<!-- #include file="Check_Ip.asp" --> //  '// //  '/////////////////////////////////////////////////////    'Response.Charset = 936 '設置輸出編碼為簡體中文  'Response.Buffer = false '關閉緩沖區    Dim Fso,ts,IpList,Cfs    '設置Cookies函數  Function SetCookie()  Response.Cookies("IsBrow") = "Brow" Response.Cookies("IsBrow").Expires = Date+365  End Function    '記錄IP地址函數  Function WriteIp(FileName, IpAddress)  Set Fso = Server.CreateObject("Scripting.FileSystemObject")  Set ts = Fso.OpenTextFile(Server.MapPath(FileName),8,true)  ts.WriteLine IpAddress  ts.Close  Set ts = Nothing  Set Fso = Nothing  End Function    '讀取IP地址函數  Function ReadIpList(FileName)  Set Fso = Server.CreateObject("Scripting.FileSystemObject")  If Not Fso.FileExists(Server.MapPath(FileName)) Then  CreateFile("Iplist.txt")  Exit Function  End If    Set ts = Fso.OpenTextFile(Server.MapPath(FileName))  Iplist = ts.ReadAll  ts.Close  Set ts = Nothing  Set Fso = Nothing  ReadIpList = Iplist  End Function    '創建文件函數  Function CreateFile(FileName)  Set Fso = Server.CreateObject("Scripting.FileSystemObject")  Set Cfs = Fso.CreateTextFile(Server.MapPath(FileName))  Cfs.Close  Set Cfs = Nothing  Set Fso = Nothing  End Function    '關閉當前IE窗口函數(注:IE6下通過,其他瀏覽器未測試)  Function CloseWindow()  'Response.Write "<script>window.location='javascript:window.opener=null;window.close();'</script>"  Response.Redirect "http://www.baidu.com" End Function    Ip = Request.ServerVariables("REMOTE_ADDR") '獲取瀏覽者IP地址    Cookie = Request.Cookies("IsBrow") '獲取當前Cookies  'Response.Write Cookie    If Request.ServerVariables("HTTP_X_FORWARDED_FOR") <> "" Then  Response.Write "本站不允許使用代理訪問" Response.End()  Else  If Cookie = "Brow" Then  CloseWindow()  Else  If Instr(ReadIpList("Iplist.txt"),Ip) <>0  Then  CloseWindow()  Else  WriteIp "Iplist.txt" , Ip  End If  SetCookie()  End If  End If  %>

    標簽: asp 訪問

    上傳時間: 2016-07-14

    上傳用戶:helei0915

  • 利用棧的基本操作實現將任意一個十進制整數N轉化為R進制整數。

    #include <stdlib.h> #include<stdio.h> #include <malloc.h> #define stack_init_size 100 #define stackincrement 10 typedef struct sqstack { int *base; int *top; int stacksize; } sqstack; int StackInit(sqstack *s) { s->base=(int *)malloc(stack_init_size *sizeof(int)); if(!s->base) return 0; s->top=s->base; s->stacksize=stack_init_size; return 1; } int Push(sqstack *s,int e) { if(s->top-s->base>=s->stacksize) { s->base=(int *)realloc(s->base,(s->stacksize+stackincrement)*sizeof(int)); if(!s->base) return 0; s->top=s->base+s->stacksize; s->stacksize+=stackincrement; } *(s->top++)=e; return e; } int Pop(sqstack *s,int e) { if(s->top==s->base) return 0; e=*--s->top; return e; } int stackempty(sqstack *s) { if(s->top==s->base) { return 1; } else { return 0; } } int conversion(sqstack *s) { int n,e=0,flag=0; printf("輸入要轉化的十進制數:\n"); scanf("%d",&n); printf("要轉化為多少進制:\n"); scanf("%d",&flag); printf("將十進制數%d 轉化為%d 進制是:\n",n,flag); while(n) { Push(s,n%flag); n=n/flag; } while(!stackempty(s)) { e=Pop(s,e); switch(e) { case 10: printf("A"); break; case 11: printf("B"); break; case 12: printf("C"); break; case 13: printf("D"); break; case 14: printf("E"); break; case 15: printf("F"); break; default: printf("%d",e); } } printf("\n"); return 0; } int main() { sqstack s; StackInit(&s); conversion(&s); return 0;                        }

    標簽: 整數 基本操作 十進制 轉化 進制

    上傳時間: 2016-12-08

    上傳用戶:愛你198

  • 運動會源代碼

    #include <malloc.h>       #include <stdio.h>       #include <stdlib.h>       #include <string.h>       #define NULL 0      #define MaxSize 30          typedef struct athletestruct /*運動員*/     {         char name[20];          int score; /*分數*/         int range; /**/         int item; /*項目*/     }ATH;     typedef struct schoolstruct /*學校*/     {         int count; /*編號*/         int serial; /**/          int menscore; /*男選手分數*/         int womenscore; /*女選手分數*/         int totalscore; /*總分*/         ATH athlete[MaxSize]; /**/         struct schoolstruct *next;      }SCH;         int nsc,msp,wsp;      int ntsp;      int i,j;      int overgame;      int serial,range;      int n;      SCH *head,*pfirst,*psecond;      int *phead=NULL,*pafirst=NULL,*pasecond=NULL;     void create();         void input ()     {         char answer;          head = (SCH *)malloc(sizeof(SCH)); /**/         head->next = NULL;         pfirst = head;          answer = 'y';         while ( answer == 'y' )         {         Is_Game_DoMain:         printf("\nGET Top 5 when odd\nGET Top 3 when even");         printf("\n輸入運動項目序號 (x<=%d):",ntsp);         scanf("%d",pafirst);         overgame = *pafirst;         if ( pafirst != phead )         {             for ( pasecond = phead ; pasecond < pafirst ; pasecond ++ )             {                 if ( overgame == *pasecond )                 {                     printf("\n這個項目已經存在請選擇其他的數字\n");                     goto Is_Game_DoMain;                 }             }         }         pafirst = pafirst + 1;         if ( overgame > ntsp )         {             printf("\n項目不存在");             printf("\n請重新輸入");             goto Is_Game_DoMain;         }         switch ( overgame%2 )         {         case 0: n = 3;break;         case 1: n = 5;break;         }         for ( i = 1 ; i <= n ; i++ )         {         Is_Serial_DoMain:         printf("\n輸入序號 of the NO.%d (0<x<=%d): ",i,nsc);                 scanf("%d",&serial);         if ( serial > nsc )          {             printf("\n超過學校數目,請重新輸入");             goto Is_Serial_DoMain;         }         if ( head->next == NULL )          {             create();         }         psecond = head->next ;          while ( psecond != NULL )          {             if ( psecond->serial == serial )             {                 pfirst = psecond;                 pfirst->count = pfirst->count + 1;                 goto Store_Data;             }             else             {                 psecond = psecond->next;             }         }         create();         Store_Data:                 pfirst->athlete[pfirst->count].item = overgame;         pfirst->athlete[pfirst->count].range = i;         pfirst->serial = serial;         printf("Input name:) : ");                 scanf("%s",pfirst->athlete[pfirst->count].name);         }         printf("\n繼續輸入運動項目(y&n)?");         answer = getchar();         printf("\n");         }     }         void calculate() /**/     {         pfirst = head->next;         while ( pfirst->next != NULL )         {             for (i=1;i<=pfirst->count;i++)             {                 if ( pfirst->athlete[i].item % 2 == 0 )                  {                     switch (pfirst->athlete[i].range)                     {                     case 1:pfirst->athlete[i].score = 5;break;                     case 2:pfirst->athlete[i].score = 3;break;                     case 3:pfirst->athlete[i].score = 2;break;                     }                 }                 else                  {                     switch (pfirst->athlete[i].range)                     {                     case 1:pfirst->athlete[i].score = 7;break;                     case 2:pfirst->athlete[i].score = 5;break;                     case 3:pfirst->athlete[i].score = 3;break;                     case 4:pfirst->athlete[i].score = 2;break;                     case 5:pfirst->athlete[i].score = 1;break;                     }                 }                 if ( pfirst->athlete[i].item <=msp )                  {                     pfirst->menscore = pfirst->menscore + pfirst->athlete[i].score;                 }                 else                  {                     pfirst->womenscore = pfirst->womenscore + pfirst->athlete[i].score;                 }             }             pfirst->totalscore = pfirst->menscore + pfirst->womenscore;             pfirst = pfirst->next;         }     }         void output()     {         pfirst = head->next;         psecond = head->next;         while ( pfirst->next != NULL )          {             // clrscr();              printf("\n第%d號學校的結果成績:",pfirst->serial);             printf("\n\n項目的數目\t學校的名字\t分數");             for (i=1;i<=ntsp;i++)              {                 for (j=1;j<=pfirst->count;j++)                  {                     if ( pfirst->athlete[j].item == i )                     {                                                                         printf("\n %d\t\t\t\t\t\t%s\n %d",i,pfirst->athlete[j].name,pfirst->athlete[j].score);break;                                             }                 }             }             printf("\n\n\n\t\t\t\t\t\t按任意建 進入下一頁");             getchar();             pfirst = pfirst->next;         }     //  clrscr();          printf("\n運動會結果:\n\n學校編號\t男運動員成績\t女運動員成績\t總分");         pfirst = head->next;         while ( pfirst->next != NULL )         {             printf("\n %d\t\t %d\t\t %d\t\t %d",pfirst->serial,pfirst->menscore,pfirst->womenscore,pfirst->totalscore);             pfirst = pfirst->next;         }         printf("\n\n\n\t\t\t\t\t\t\t按任意建結束");         getchar();     }         void create()     {                 pfirst = (struct schoolstruct *)malloc(sizeof(struct schoolstruct));         pfirst->next = head->next ;         head->next = pfirst ;                 pfirst->count = 1;         pfirst->menscore = 0;         pfirst->womenscore = 0;         pfirst->totalscore = 0;     }     void Save()     {FILE *fp;     if((fp = fopen("school.dat","wb"))==NULL)     {printf("can't open school.dat\n");     fclose(fp);     return;     }     fwrite(pfirst,sizeof(SCH),10,fp);     fclose(fp);     printf("文件已經成功保存\n");     }         void main()     {         system("cls");         printf("\n\t\t\t 運動會分數統計\n");         printf("輸入學校數目 (x>= 5):");         scanf("%d",&nsc);          printf("輸入男選手的項目(x<=20):");         scanf("%d",&msp);          printf("輸入女選手項目(<=20):");         scanf("%d",&wsp);          ntsp = msp + wsp;                  phead = (int *)calloc(ntsp,sizeof(int));         pafirst = phead;         pasecond = phead;         input();         calculate();          output();         Save();     }             

    標簽: 源代碼

    上傳時間: 2016-12-28

    上傳用戶:150501

  • C語言算法排序問題

    1.Describe a Θ(n lg n)-time algorithm that, given a set S of n integers and another integer x, determines whether or not there exist two elements in S whose sum is exactly x. (Implement exercise 2.3-7.)

    標簽: 算法 排序

    上傳時間: 2017-04-01

    上傳用戶:糖兒水嘻嘻

  • c語言算法排序

    1.Describe a Θ(n lg n)-time algorithm that, given a set S of n integers and another integer x, determines whether or not there exist two elements in S whose sum is exactly x. (Implement exercise 2.3-7.) #include<stdio.h> #include<stdlib.h> void merge(int arr[],int low,int mid,int high){      int i,k;      int *tmp=(int*)malloc((high-low+1)*sizeof(int));      int left_low=low;      int left_high=mid;      int right_low=mid+1;      int right_high=high;      for(k=0;left_low<=left_high&&right_low<=right_high;k++)      {      if(arr[left_low]<=arr[right_low]){                                        tmp[k]=arr[left_low++];                                        }      else{           tmp[k]=arr[right_low++];           } }             if(left_low<=left_high){                              for(i=left_low;i<=left_high;i++){                                                               tmp[k++]=arr[i];                                                               }                              }       if(right_low<=right_high){                              for(i=right_low;i<=right_high;i++)                                                                tmp[k++]=arr[i];                                                        }                              for(i=0;i<high-low+1;i++)                                                       arr[low+i]=tmp[i];       } void merge_sort(int a[],int p,int r){      int q;      if(p<r){              q=(p+r)/2;              merge_sort(a,p,q);              merge_sort(a,q+1,r);              merge(a,p,q,r);              }      } int main(){     int a[8]={3,5,8,6,4,1,1};     int i,j;     int x=10;     merge_sort(a,0,6);     printf("after Merging-Sort:\n");     for(i=0;i<7;i++){                      printf("%d",a[i]);                      }     printf("\n");     i=0;j=6;     do{                                    if(a[i]+a[j]==x){                                  printf("exist");                                  break;                                  }                  if(a[i]+a[j]>x)                                 j--;                  if(a[i]+a[j]<x)                                 i++;                       }while(i<=j);     if(i>j)              printf("not exist");     system("pause");     return 0;     }

    標簽: c語言 算法 排序

    上傳時間: 2017-04-01

    上傳用戶:糖兒水嘻嘻

  • TMS320F240 instruction set

    TMS320F240DSP的匯編指令,用于了解該型號dsp的匯編指令的及具體含義,以便進行匯編指令的編寫

    標簽: instruction 320F F240 TMS 320 240 set

    上傳時間: 2017-11-16

    上傳用戶:yhj140260126

  • 數據結構實驗

    #include <iostream> #include <stdio.head> #include <stdlib.head> #include <string.head> #define ElemType int #define max 100 using namespace std; typedef struct node1 { ElemType data; struct node1 *next; }Node1,*LinkList;//鏈棧 typedef struct { ElemType *base; int top; }SqStack;//順序棧 typedef struct node2 { ElemType data; struct node2 *next; }Node2,*LinkQueue; typedef struct node22 { LinkQueue front; LinkQueue rear; }*LinkList;//鏈隊列 typedef struct { ElemType *base; int front,rear; }SqQueue;//順序隊列 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 //1.采用鏈式存儲實現棧的初始化、入棧、出棧操作。 LinkList CreateStack()//創建棧 { LinkList top; top=NULL; return top; } bool StackEmpty(LinkList s)//判斷棧是否為空,0代表空 { if(s==NULL) return 0; else return 1; } LinkList Pushead(LinkList s,int x)//入棧 { LinkList q,top=s; q=(LinkList)malloc(sizeof(Node1)); q->data=x; q->next=top; top=q; return top; } LinkList Pop(LinkList s,int &e)//出棧 { if(!StackEmpty(s)) { printf("棧為空。"); } else { e=s->data; LinkList p=s; s=s->next; free(p); } return s; } void DisplayStack(LinkList s)//遍歷輸出棧中元素 { if(!StackEmpty(s)) printf("棧為空。"); else { wheadile(s!=NULL) { cout<<s->data<<" "; s=s->next; } cout<<endl; } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 //2.采用順序存儲實現棧的初始化、入棧、出棧操作。 int StackEmpty(int t)//判斷棧S是否為空 { SqStack.top=t; if (SqStack.top==0) return 0; else return 1; } int InitStack() { SqStack.top=0; return SqStack.top; } int pushead(int t,int e) { SqStack.top=t; SqStack.base[++SqStack.top]=e; return SqStack.top; } int pop(int t,int *e)//出棧 { SqStack.top=t; if(!StackEmpty(SqStack.top)) { printf("棧為空."); return SqStack.top; } *e=SqStack.base[s.top]; SqStack.top--; return SqStack.top; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 //3.采用鏈式存儲實現隊列的初始化、入隊、出隊操作。 LinkList InitQueue()//創建 { LinkList head; head->rear=(LinkQueue)malloc(sizeof(Node)); head->front=head->rear; head->front->next=NULL; return head; } void deleteEle(LinkList head,int &e)//出隊 { LinkQueue p; p=head->front->next; e=p->data; head->front->next=p->next; if(head->rear==p) head->rear=head->front; free(p); } void EnQueue(LinkList head,int e)//入隊 { LinkQueue p=(LinkQueue)malloc(sizeof(Node)); p->data=e; p->next=NULL; head->rear->next=p; head->rear=p; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 //4.采用順序存儲實現循環隊列的初始化、入隊、出隊操作。 bool InitQueue(SqQueue &head)//創建隊列 { head.data=(int *)malloc(sizeof(int)); head.front=head.rear=0; return 1; } bool EnQueue(SqQueue &head,int e)//入隊 { if((head.rear+1)%MAXQSIZE==head.front) { printf("隊列已滿\n"); return 0; } head.data[head.rear]=e; head.rear=(head.rear+1)%MAXQSIZE; return 1; } int QueueLengthead(SqQueue &head)//返回隊列長度 { return (head.rear-head.front+MAXQSIZE)%MAXQSIZE; } bool deleteEle(SqQueue &head,int &e)//出隊 { if(head.front==head.rear) { cout<<"隊列為空!"<<endl; return 0; } e=head.data[head.front]; head.front=(head.front+1)%MAXQSIZE; return 1; } int gethead(SqQueue head)//得到隊列頭元素 { return head.data[head.front]; } int QueueEmpty(SqQueue head)//判斷隊列是否為空 { if (head.front==head.rear) return 1; else return 0; } void travelQueue(SqQueue head)//遍歷輸出 { wheadile(head.front!=head.rear) { printf("%d ",head.data[head.front]); head.front=(head.front+1)%MAXQSIZE; } cout<<endl; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 //5.在主函數中設計一個簡單的菜單,分別測試上述算法。 int main() { LinkList top=CreateStack(); int x; wheadile(scanf("%d",&x)!=-1) { top=Pushead(top,x); } int e; wheadile(StackEmpty(top)) { top=Pop(top,e); printf("%d ",e); }//以上是鏈棧的測試 int top=InitStack(); int x; wheadile(cin>>x) top=pushead(top,x); int e; wheadile(StackEmpty(top)) { top=pop(top,&e); printf("%d ",e); }//以上是順序棧的測試 LinkList Q; Q=InitQueue(); int x; wheadile(scanf("%d",&x)!=-1) { EnQueue(Q,x); } int e; wheadile(Q) { deleteEle(Q,e); printf("%d ",e); }//以上是鏈隊列的測試 SqQueue Q1; InitQueue(Q1); int x; wheadile(scanf("%d",&x)!=-1) { EnQueue(Q1,x); } int e; wheadile(QueueEmpty(Q1)) { deleteEle(Q1,e); printf("%d ",e); } return 0; }

    標簽: 數據結構 實驗

    上傳時間: 2018-05-09

    上傳用戶:123456..

主站蜘蛛池模板: 南充市| 台北市| 汤原县| 耒阳市| 沂水县| 新绛县| 东乡| 濮阳县| 漾濞| 梁河县| 新营市| 嘉兴市| 合江县| 楚雄市| 海阳市| 绥滨县| 伊宁县| 郁南县| 广昌县| 海淀区| 南岸区| 教育| 安西县| 莱芜市| 云阳县| 南靖县| 通道| 砚山县| 西和县| 桐城市| 平远县| 水富县| 涡阳县| 邓州市| 遂川县| 永安市| 运城市| 越西县| 鸡泽县| 咸阳市| 无为县|