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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 航班.cpp

?? 航班的信息系統
?? CPP
字號:
#include <stdio.h>
#include <string.h>
#define MaxSpace 100
#define keylen 6
#define Radix_n 10
#define Radix_c 26
typedef char KeyType;
typedef struct 
{
    char start[6];        /*起點*/
    char end[6];          /*終點*/
    char sche[10];         /*斑期*/
    char time1[5];        /*起飛時間*/
    char time2[5];        /*到達時間*/
    char model[4];        /*機型*/
    int price;            /*標價*/
}InfoType;                /*航班記錄類型*/

typedef struct
{
    KeyType keys[keylen];      /*航班號*/
    InfoType others;
    int next;
}SLNode;                     /*靜態鏈表接點類型*/

typedef struct
{
    SLNode sl[MaxSpace];
    int keynum;                   /*靜態鏈表,sl[0]為頭結點*/
    int length;                   /*當前表長*/
}SLList;                          /*靜態鏈表類型*/
typedef int ArrType_n[Radix_n];   /*十進制數字指針數組*/
typedef int ArrType_c[Radix_c];   /*26個字母指針數組*/

/*一趟數字字符分配函數*/
void Distribute(SLNode *sl,int i,ArrType_n f,ArrType_n e)
{
    int j,p;
    for(j=0;j<Radix_n;j++)
    {  /*各子表置為空表*/
        f[j]=e[j]=0;
    }
    for(p=sl[0].next;p;p=sl[p].next)
    {
        j=sl[p].keys[i]%48;         /*將數字字符轉換成相對應的數值型數字*/
        if(!f[j])
            f[j]=p;
        else
            sl[e[j]].next=p;
            e[j]=p;                /*將p指向的結點插入到第j個子表中*/
    }
}

/*一趟數字字符的收集函數*/
void Collect(SLNode *sl,int i,ArrType_n f,ArrType_n e)
{
    int j,t;
    for(j=0;!f[j];j++);           /*找第一個非空子表*/
        sl[0].next=f[j];
        t=e[j];
        while(j<Radix_n-1)
        {
            for(j=j+1;j<Radix_n-1 && !f[j];j++);      /*找下一個非空子表*/
            if(f[j])
            {
                 sl[t].next=f[j];
                 t=e[j];                              /*鏈接兩個非空子表*/
            }
        }
        sl[t].next=0;              /*t指向最后一個非空子表中的最后一個結點*/
}

/*一趟字母字符分配函數*/
void Distribute_c(SLNode *sl,int i,ArrType_c f,ArrType_c e)
{
    int j,p;
    for(j=0;j<Radix_c;j++)
    {   /*各子表置為空表*/
        f[j]=e[j]=0;
    }
    for(p=sl[0].next;p;p=sl[p].next)
    {
        j=sl[p].keys[i]%65;      /*將字母字符轉換成在字母集中相應的序號(0-25)*/
        if(!f[j])
            f[j]=p;
        else
            sl[e[j]].next=p;
            e[j]=p;
    }
}

/*一趟字母字符收集*/
void Collect_c(SLNode *sl,int i,ArrType_c f,ArrType_c e)
{
    int j,t;
    for(j=0;!f[j];j++);
    sl[0].next=f[j];
    t=e[j];
    while(j<Radix_c-1)
    {
        for(j=j+1;j<Radix_c-1&&!f[j];j++);
        if(f[j])
        { sl[t].next=f[j]; t=e[j]; }
    }
    sl[t].next=0;
}

/*鏈式基數排序函數*/
void RadixSort(SLList &L)
{
    int i;
    ArrType_n fn,en;
    ArrType_c fc,ec;
    for(i=0;i<L.length;i++)
        L.sl[i].next=i+1;            /*0號單元公存放指針,不存儲內容*/
        L.sl[L.length].next=0;       /*將普通的線性表改造為靜態鏈表*/
    for(i=L.keynum-1;i>=2;i--)
    {  /*按最低優先次序對各關鍵字進行分配和收集,先做低4位數字部分*/
        Distribute(L.sl,i,fn,en);
        Collect(L.sl,i,fn,en);
    }
    for(i=1;i>=0;i--)
    {  /*對高位的2位大寫字母進行分配和收集*/     
        Distribute_c(L.sl,i,fc,ec);
        Collect_c(L.sl,i,fc,ec);
    }
}/*RadixSort*/

/*按指針鏈重新整理靜態鏈表*/
void Arrange(SLList &L)
{
    int p,q,i;
    SLNode temp;
    p=L.sl[0].next;             /*p指向第一個記錄的當前位置*/
    for(i=1;i<L.length;i++)     /*L.sl[1..i-1]已按關鍵字有序化*/
    {
        while(p<i)
            p=L.sl[p].next;        /*找到第i個記錄,并用p指向其在L中當前位置*/
            q=L.sl[p].next;        /*q指向尚未調整的表尾*/
        if(p!=i)
        {
            temp=L.sl[p]; L.sl[p]=L.sl[i]; L.sl[i]=temp;       /*交換記錄*/
            L.sl[i].next=p;
        }
        p=q;            /*p指向尚未調整的表尾,為找第i+1個記錄做準備*/
    }
}/*Arrange*/

/*二分查找函數*/
int BinSearch(SLList L,KeyType key[])
{ 
    int low,high,mid;
    low=1;
    high=L.length;
    while(low<=high)
    {
        mid=(low+high)/2;
        if(strcmp(key,L.sl[mid].keys)==0)
            return mid;
        else 
            if(strcmp(key,L.sl[mid].keys)<0)
            high=mid-1;
        else
            low=mid+1;
    }
        return 0;
}/*BinSearch*/

/*順序查找函數*/
void SeqSearch(SLList L,KeyType key[],int i)
{
    int j,k,m=0;
    printf("***********************************************************\n");
    printf("* 航班號 起點站 終點站 航班期 起飛時間 到達時間   機型  票價 *\n");
    for(j=1;j<=L.length;j++)
    {
        switch(i)
        {
            case 2:k=strcmp(key,L.sl[j].others.start);break;
            case 3:k=strcmp(key,L.sl[j].others.end);break;
            case 4:k=strcmp(key,L.sl[j].others.time1);break;
            case 5:k=strcmp(key,L.sl[j].others.time2);break;
        }
        if(k==0)
        { m=1;
          printf("* %-8s%-7s%-6s%-11s%-9s%-7s%-5s%4d *\n",L.sl[j].keys,L.sl[j].others.start,L.sl[j].others.end,L.sl[j].others.sche,L.sl[j].others.time1,L.sl[j].others.time2,L.sl[j].others.model,L.sl[j].others.price);
        }
    }
    if(m==0)
    printf("* 無此航班信息,可能是輸入錯誤! *\n");
    printf("***********************************************************\n");
}

/*查詢檢索菜單控制程序*/
void searchcon(SLList L)
{
    KeyType key[keylen];
    int i=1,k;
    while(i>=1&&i<=5)
    {
        printf("\n **********************\n");
        printf(" *  航班信息查詢系統  *\n");
        printf(" **********************\n");
        printf(" *     1.航 班 號     *\n");
        printf(" *     2.起 點 站     *\n");
        printf(" *     3.終 點 站     *\n");
        printf(" *     4.起飛時間     *\n");
        printf(" *     5.到達時間     *\n");
        printf(" *     0.退出系統     *\n");
        printf(" **********************\n");
        printf(" 請選擇(0-5):");
        scanf("%d",&i);
        printf("\n");
        switch(i)
        {
            case 1: printf("輸入要查詢的航班號(字母要大寫):");
                    scanf("%s",key);
                    k=BinSearch(L,key);
                    printf("*************************************************************\n");
                    if(k==0)
                        printf("* 無此航班信息,可能是輸入錯誤! *\n");
                    else
                    {
                        printf("* 航班號 起點站 終點站 航班期 起飛時間 到達時間   機型  票價 *\n");
                        printf("* %-8s%-7s%-6s%-11s%-9s%-7s%-5s%4d *\n",L.sl[k].keys,L.sl[k].others.start,L.sl[k].others.end,L.sl[k].others.sche,L.sl[k].others.time1,L.sl[k].others.time2,L.sl[k].others.model,L.sl[k].others.price);
                    }
                    printf("*************************************************************\n");
                    break;
            case 2: printf("輸入要查詢的航班起點站名:");
                    scanf("%s",key);
                    SeqSearch(L,key,i);
                    break;
            case 3: printf("輸入要查詢的航班終點站名:");
                    scanf("%s",key);
                    SeqSearch(L,key,i);
                    break;
            case 4: printf("輸入要查詢的航班起飛時間:");
                    scanf("%s",key);
                    SeqSearch(L,key,i);
                    break;
            case 5: printf("輸入要查詢的航班到達時間:");
                    scanf("%s",key);
                    SeqSearch(L,key,i);
                    break;
            case 0: printf("\n\n\n 再  見\n\n\n");
        }
    }
}

/*輸入航班記錄函數*/
void InputData(SLList &L)
{
    int i=++L.length;
    char yn='y';
    while(yn=='y'||yn=='Y')
    {
        printf("航班號 起點站 終點站 航班期 起飛時間 到達時間   機型  票價\n");
        scanf("%s%s%s%s%s%s%s%d",L.sl[i].keys,L.sl[i].others.start,L.sl[i].others.end,L.sl[i].others.sche,L.sl[i].others.time1,L.sl[i].others.time2,L.sl[i].others.model,&L.sl[i].others.price);
        ++i; getchar(); 
        RadixSort(L);                /*基數排序*/
        Arrange(L);                  /*重新整理靜態鏈表*/
        printf("繼續輸入嗎?y/n:");
        scanf("%c",&yn);

    }
    L.length=i-1;
}

void main()
{
    SLList L;
    L.keynum=6;               /*初始化及輸入數據*/
    L.length=0;
    InputData(L);             /*輸入航班記錄*/
    printf("排序之后:\n");
    for(int i=1;i<=L.length;i++)
    {
	printf("航班號 起點站 終點站 航班期 起飛時間 到達時間   機型  票價\n");
	printf("%-8s%-7s%-6s%-11s%-9s%-7s%-5s%d\n",L.sl[i].keys,L.sl[i].others.start,L.sl[i].others.end,L.sl[i].others.sche,L.sl[i].others.time1,L.sl[i].others.time2,L.sl[i].others.model,L.sl[i].others.price);	
    }
	printf("總共:%d",i-1);

    searchcon(L);             /*查詢菜單控制程序*/
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品tushy高清| 欧美一区二区在线播放| 日本不卡一区二区| 国产精品久久久久久久浪潮网站| 欧美日韩亚洲国产综合| 国产精品一区二区免费不卡 | 亚洲一区二区三区四区在线观看 | 精品夜夜嗨av一区二区三区| 一区二区三区在线视频免费观看 | 亚洲免费观看高清完整版在线| 精品日韩av一区二区| 欧美系列日韩一区| 成人av在线资源| 国产一区二区三区香蕉| 亚洲福利视频导航| 国产精品狼人久久影院观看方式| 欧美videos中文字幕| 欧美色爱综合网| 91丝袜美腿高跟国产极品老师 | 综合激情成人伊人| 精品99999| 日韩色在线观看| 欧美日韩精品一区二区三区蜜桃| 97超碰欧美中文字幕| 成人免费视频视频在线观看免费| 国内成+人亚洲+欧美+综合在线| 免费看黄色91| 免费人成精品欧美精品| 三级不卡在线观看| 香蕉久久夜色精品国产使用方法| 亚洲国产日产av| 亚洲第一精品在线| 亚洲电影在线免费观看| 亚洲资源在线观看| 亚洲精品国产一区二区精华液| 亚洲视频小说图片| 国产精品成人网| 亚洲色欲色欲www| 亚洲精品成人精品456| 中文字幕一区二区三区av| 国产精品日韩成人| 国产精品国产三级国产aⅴ中文 | 国产成人av一区二区| 国产福利一区在线| 国产成人免费视频网站| 成人听书哪个软件好| 99精品视频在线免费观看| 色综合天天综合| 色94色欧美sute亚洲线路一久| 色av综合在线| 欧美日韩精品欧美日韩精品一| 制服丝袜成人动漫| 日韩亚洲欧美综合| 精品久久久久av影院| 国产欧美日韩综合| 国产精品国产馆在线真实露脸| 中文字幕亚洲区| 亚洲成av人片一区二区梦乃| 麻豆精品久久久| 国产精品亚洲专一区二区三区 | 免费欧美日韩国产三级电影| 老司机精品视频线观看86| 国产一区高清在线| 不卡的av电影| 欧美精品日韩一本| 久久久久久久久伊人| 最新国产の精品合集bt伙计| 首页国产欧美日韩丝袜| 国精产品一区一区三区mba视频| 成人免费av网站| 欧美性大战xxxxx久久久| 欧美成人午夜电影| 中文字幕日韩一区二区| 亚洲成人1区2区| 国产精品一区专区| 色综合久久久久综合体| 日韩欧美中文字幕精品| 国产精品久久夜| 青青草成人在线观看| 成人动漫视频在线| 欧美剧情片在线观看| 国产日韩成人精品| 偷拍日韩校园综合在线| 国产91精品免费| 欧美剧情片在线观看| 中文字幕免费不卡| 亚洲高清在线视频| 国产成人亚洲综合a∨婷婷| 欧美日韩视频在线第一区| 久久女同性恋中文字幕| 亚洲综合网站在线观看| 国产精品538一区二区在线| 欧美男男青年gay1069videost | 5858s免费视频成人| 国产午夜精品久久久久久久| 日韩专区中文字幕一区二区| 不卡av在线免费观看| 欧美成人艳星乳罩| 亚洲国产成人porn| 成人精品在线视频观看| 精品日韩一区二区三区 | 国产不卡视频在线观看| 日韩一区二区三区在线观看| 亚洲图片你懂的| 韩国一区二区视频| 91超碰这里只有精品国产| 亚洲欧美怡红院| 韩国v欧美v日本v亚洲v| 在线不卡的av| 亚洲一区二区黄色| 99精品在线免费| 欧美国产一区二区在线观看| 精品在线免费视频| 在线播放日韩导航| 一区二区三区欧美视频| av午夜一区麻豆| 中文字幕av一区二区三区免费看| 久久91精品久久久久久秒播| 91精品国产麻豆国产自产在线 | 国产成人精品三级麻豆| 日韩午夜三级在线| 亚洲国产aⅴ成人精品无吗| 91丨porny丨中文| 亚洲欧美一区二区视频| 成人免费视频免费观看| 国产精品午夜在线| 国产91精品一区二区| 国产午夜一区二区三区| 国产伦精品一区二区三区视频青涩 | 色av一区二区| 一区二区三区免费网站| 色94色欧美sute亚洲线路一久| 亚洲色图.com| 99精品国产热久久91蜜凸| 国产精品―色哟哟| 成人成人成人在线视频| 国产精品成人网| 一本色道综合亚洲| 亚洲精品日韩一| 欧美主播一区二区三区美女| 亚洲自拍都市欧美小说| 欧美日韩国产综合一区二区| 视频一区免费在线观看| 91精品国产黑色紧身裤美女| 美腿丝袜亚洲色图| 精品理论电影在线| 国内精品国产成人国产三级粉色 | 日本在线不卡视频| 欧美一级精品在线| 精品一区二区三区av| 久久这里只有精品首页| 懂色中文一区二区在线播放| 中文字幕一区二区三| 色综合欧美在线视频区| 亚洲成在线观看| 精品免费国产二区三区| 国产91精品在线观看| 亚洲日本丝袜连裤袜办公室| 欧美理论片在线| 国产专区欧美精品| 国产精品乱码人人做人人爱 | 一区二区三区在线高清| 欧美伊人久久大香线蕉综合69| 奇米亚洲午夜久久精品| 久久久www成人免费无遮挡大片| 成人高清av在线| 性做久久久久久免费观看| 精品精品国产高清一毛片一天堂| 不卡一区二区中文字幕| 亚洲影视在线播放| 欧美成人三级电影在线| k8久久久一区二区三区 | 精品一区二区免费在线观看| 国产精品久久久久婷婷二区次| 欧美日韩在线电影| 国产一区二区三区观看| 一区二区三区欧美久久| 欧美变态tickle挠乳网站| 99国产精品久久久久久久久久久| 日韩电影一区二区三区四区| 亚洲国产电影在线观看| 在线成人av网站| www.久久久久久久久| 奇米色777欧美一区二区| 中文字幕视频一区| 日韩欧美一级在线播放| 色婷婷久久综合| 久久成人综合网| 一区二区三区四区亚洲| 国产婷婷色一区二区三区四区| 欧美另类高清zo欧美| 成人性生交大合| 蜜臀av性久久久久蜜臀aⅴ| 亚洲久草在线视频| 欧美大片在线观看一区二区| 色八戒一区二区三区| 国产成人精品三级| 免费在线观看日韩欧美| 亚洲最新视频在线观看| 欧美国产丝袜视频|