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

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

?? datatest.c

?? 一個數據結構的大作業
?? C
字號:
#include <stdio.h>
#include <alloc.h>
#include <mem.h>
#include <string.h>
#include <conio.h>

typedef struct
{
 char TrainNumber[6];
 char Kind[6];
 char Begin[11];
 char End[11];
 char BeginHour[3];
 char EndHour[3];
 char BeginMinute[3];
 char EndMinute[3];
 char Cost[5];
 struct TRAIN* NextTrain;
} TRAIN;

//ListFunction///////////////////////////////////////////////
void CopyData(TRAIN *ptrain,TRAIN train);
TRAIN *CreatList(TRAIN train);
TRAIN *AddTail(TRAIN *last,TRAIN train);
TRAIN *GetAt(TRAIN *head,int i);            //can't do with wrong
TRAIN **GetTrueAt(TRAIN **Head,int i);
void   SetAt(TRAIN *head,int i,TRAIN train);//can't do with wrong
void   DeleteAt(TRAIN **head,int i);        //if i==0 head will be changed
void   DeleteAll(TRAIN **head);
int    GetCount(TRAIN *head);
void   Exchange(TRAIN **head,int index);

//FileFunction////////////////////////////////////////////////
void   SaveList(TRAIN *head,char *filename);
TRAIN *LoadList(char *filename);
//////////////////////////////////////////////////////////////
int main(void)
{
 TRAIN atrain;
 TRAIN *ptrain;
 TRAIN *Head=NULL;
 TRAIN *Last=NULL;
 int i,k;
 strcpy(atrain.TrainNumber,"123");
 strcpy(atrain.Kind,"pk");
 strcpy(atrain.Begin,"Beijing");
 strcpy(atrain.End,"Shanghai");
 strcpy(atrain.BeginHour,"12");
 strcpy(atrain.EndHour,"15");
 strcpy(atrain.BeginMinute,"30");
 strcpy(atrain.EndMinute,"45");
 strcpy(atrain.Cost,"100");
 Head=CreatList(atrain);
 Last=Head;
 for(i=0;i<10;i++)
 {
  ptrain=AddTail(Last,atrain);
  Last=ptrain;
 }
 printf("AddTailComplete!\n");
 getch();
 for(i=0;i<11;i++)
 {
   ptrain=GetAt(Head,i);
   printf("%s ",ptrain->TrainNumber);
   printf("%s ",ptrain->Kind);
   printf("%s ",ptrain->Begin);
   printf("%s ",ptrain->End);
   printf("%s ",ptrain->BeginHour);
   printf("%s ",ptrain->EndHour);
   printf("%s ",ptrain->BeginMinute);
   printf("%s ",ptrain->EndMinute);
   printf("%s ",ptrain->Cost);
   printf("  :%d\n",i);
   getch();
 }
 i=GetCount(Head);
 printf("Count:%d\n",i);
 getch();
 strcpy(atrain.TrainNumber,"234");
 strcpy(atrain.Kind,"tk");
 strcpy(atrain.Begin,"Zhengzhou");
 strcpy(atrain.End,"Tianjing");
 strcpy(atrain.BeginHour,"1");
 strcpy(atrain.EndHour,"17");
 strcpy(atrain.BeginMinute,"10");
 strcpy(atrain.EndMinute,"00");
 strcpy(atrain.Cost,"500");
 SetAt(Head,4,atrain);
 SetAt(Head,7,atrain);
 SetAt(Head,0,atrain);
 printf("SetAt Complete.0,7,4.\n");
 getch();
 for(i=0;i<11;i++)
 {
   ptrain=GetAt(Head,i);
   printf("%s ",ptrain->TrainNumber);
   printf("%s ",ptrain->Kind);
   printf("%s ",ptrain->Begin);
   printf("%s ",ptrain->End);
   printf("%s ",ptrain->BeginHour);
   printf("%s ",ptrain->EndHour);
   printf("%s ",ptrain->BeginMinute);
   printf("%s ",ptrain->EndMinute);
   printf("%s ",ptrain->Cost);
   printf("  :%d\n",i);
   getch();
 }
 Exchange(&Head,0);
 Exchange(&Head,7);
 printf("Exchanged.0,1;7,8.\n");
 getch();
 for(i=0;i<11;i++)
 {
   ptrain=GetAt(Head,i);
   printf("%s ",ptrain->TrainNumber);
   printf("%s ",ptrain->Kind);
   printf("%s ",ptrain->Begin);
   printf("%s ",ptrain->End);
   printf("%s ",ptrain->BeginHour);
   printf("%s ",ptrain->EndHour);
   printf("%s ",ptrain->BeginMinute);
   printf("%s ",ptrain->EndMinute);
   printf("%s ",ptrain->Cost);
   printf("  :%d\n",i);
   getch();
 }
 DeleteAt(&Head,10);
 printf("DeleteAt Complete.10\n");
 getch();
 i=GetCount(Head);
 printf("Count:%d\n",i);
 for(i=0;i<10;i++)
 {
   ptrain=GetAt(Head,i);
   printf("%s ",ptrain->TrainNumber);
   printf("%s ",ptrain->Kind);
   printf("%s ",ptrain->Begin);
   printf("%s ",ptrain->End);
   printf("%s ",ptrain->BeginHour);
   printf("%s ",ptrain->EndHour);
   printf("%s ",ptrain->BeginMinute);
   printf("%s ",ptrain->EndMinute);
   printf("%s ",ptrain->Cost);
   printf("  :%d\n",i);
   getch();
 }
 DeleteAt(&Head,0);
 i=GetCount(Head);
 printf("Count:%d\n",i);
 for(i=0;i<9;i++)
 {
   ptrain=GetAt(Head,i);
   printf("%s ",ptrain->TrainNumber);
   printf("%s ",ptrain->Kind);
   printf("%s ",ptrain->Begin);
   printf("%s ",ptrain->End);
   printf("%s ",ptrain->BeginHour);
   printf("%s ",ptrain->EndHour);
   printf("%s ",ptrain->BeginMinute);
   printf("%s ",ptrain->EndMinute);
   printf("%s ",ptrain->Cost);
   printf("  :%d\n",i);
   getch();
 }
 /*DeleteAll(&Head);
 i=GetCount(Head);
 printf("Count:%d\n",i); */
 SaveList(Head,"test.dat");
 printf("Saved\n");
 getch();
 Head=NULL;
 Head=LoadList("test.dat");
 if(Head==NULL) { printf("File wrong.\n"); getch(); return 0; }
 i=GetCount(Head);
 printf("Count:%d\n",i);
 for(k=0;k<i;k++)
 {
   ptrain=GetAt(Head,k);
   printf("%s ",ptrain->TrainNumber);
   printf("%s ",ptrain->Kind);
   printf("%s ",ptrain->Begin);
   printf("%s ",ptrain->End);
   printf("%s ",ptrain->BeginHour);
   printf("%s ",ptrain->EndHour);
   printf("%s ",ptrain->BeginMinute);
   printf("%s ",ptrain->EndMinute);
   printf("%s ",ptrain->Cost);
   printf("  :%d\n",k);
   getch();
 }
 getch();

 return 0;
}

void CopyData(TRAIN *ptrain,TRAIN train)
{
 strcpy(ptrain->TrainNumber,train.TrainNumber);
 strcpy(ptrain->Kind,train.Kind);
 strcpy(ptrain->Begin,train.Begin);
 strcpy(ptrain->End,train.End);
 strcpy(ptrain->BeginHour,train.BeginHour);
 strcpy(ptrain->BeginMinute,train.BeginMinute);
 strcpy(ptrain->EndHour,train.EndHour);
 strcpy(ptrain->EndMinute,train.EndMinute);
 strcpy(ptrain->Cost,train.Cost);
}

TRAIN *CreatList(TRAIN train)
{
 TRAIN *ptemp;
 ptemp=(TRAIN*)malloc(sizeof(TRAIN));
 CopyData(ptemp,train);
 ptemp->NextTrain=NULL;
 return ptemp;
}
TRAIN *AddTail(TRAIN *last,TRAIN train)
{
 TRAIN *ptemp;
 ptemp=(TRAIN*)malloc(sizeof(TRAIN));
 CopyData(ptemp,train);
 ptemp->NextTrain=NULL;
 last->NextTrain=ptemp;
 return ptemp;
}
TRAIN *GetAt(TRAIN *head,int i)
{
 int k;
 TRAIN *ptemp=head;
 for(k=0;k<i;k++)
 {
  ptemp=ptemp->NextTrain;
 }
 return ptemp;
}
void SetAt(TRAIN *head,int i,TRAIN train)
{
 TRAIN *ptemp;
 ptemp=GetAt(head,i);
 CopyData(ptemp,train);
}
void DeleteAt(TRAIN **head,int i)
{
 TRAIN *ptemp1;
 TRAIN *ptemp2;
 TRAIN *ptemp3;
 TRAIN *ptemp4;
 int Count;
 Count=GetCount(*head);
 if(Count==0) return;
 else
 {
  if(Count==1) { ptemp1=*head; free(ptemp1); *head=NULL; }
  else
  {
   ptemp1=GetAt(*head,i);
   if(ptemp1->NextTrain==NULL)
   {
    free(ptemp1);
    ptemp4=GetAt(*head,i-1);
    ptemp4->NextTrain=NULL;
   }
   else
   {
    if(ptemp1==*head)
    {
     ptemp1=GetAt(*head,1);
     free(*head);
     *head=ptemp1;
    }
    else
    {
     ptemp2=GetAt(*head,i-1);
     ptemp3=GetAt(*head,i+1);
     ptemp2->NextTrain=ptemp3;
     //ptemp1=GetAt(*head,i);
     free(ptemp1);
    }
   }
  }
 }
}
void DeleteAll(TRAIN **head)
{
 TRAIN *ptemp=*head;
 TRAIN *ptemp2;
 while(ptemp->NextTrain!=NULL)
 {
   ptemp2=ptemp;
   free(ptemp2);
   ptemp=ptemp->NextTrain;
 }
 free(ptemp);
 *head=NULL;
}
int GetCount(TRAIN *head)
{
 TRAIN *ptemp=head;
 int k=0;
 if(head!=NULL)
 {
  k++;
  while(ptemp->NextTrain!=NULL)
  {
   k++;
   ptemp=ptemp->NextTrain;
  }
 }
 return k;
}
void SaveList(TRAIN *head,char *filename)
{
 TRAIN *ptemp=head;
 FILE *fp=fopen(filename,"wb");
 if(fp==NULL) { printf("Creat file fail."); return;}
 while(ptemp!=NULL)
 {
  fwrite(ptemp,sizeof(TRAIN),1,fp);
  ptemp=ptemp->NextTrain;
  }
 fclose(fp);
}

TRAIN *LoadList(char *filename)
{
 TRAIN *ptemp1;
 TRAIN *ptemp2;
 TRAIN *head=NULL;
 TRAIN *last;
 FILE *fp=fopen(filename,"rb");
 if(fp==NULL) return NULL;
 head=(TRAIN*)malloc(sizeof(TRAIN));
 ptemp1=head;
 ptemp2=head;
 fread(ptemp1,sizeof(TRAIN),1,fp);
 while(!feof(fp))
 {
  ptemp1=(TRAIN*)malloc(sizeof(TRAIN));
  fread(ptemp1,sizeof(TRAIN),1,fp);
  //ptemp1=(TRAIN*)malloc(sizeof(TRAIN));
  ptemp2->NextTrain=ptemp1;
  last=ptemp2;
  ptemp2=ptemp1;
  //ptemp2=ptemp1;
 }
 free(ptemp2);
 last->NextTrain=NULL;
 fclose(fp);
 return (head);
}
void Exchange(TRAIN **head,int index)
{
 TRAIN *ptemp1;
 TRAIN *ptemp2;
 TRAIN *ptemp3;
 TRAIN *ptemp4;
 TRAIN *ptemp5;
 TRAIN **pmhead;
 if(GetCount(*head)<=1) return;
 if(GetCount(*head)==(index+1)) return;
 if(index==0)
 {
  ptemp1=(*head);
  ptemp2=ptemp1->NextTrain;
  ptemp3=ptemp2->NextTrain;
  *head=ptemp2;
  (*head)->NextTrain=ptemp1;
  ptemp4=(*head)->NextTrain;
  ptemp4->NextTrain=ptemp3;
 }
 else
 {
  pmhead=GetTrueAt(head,index);
  ptemp1=*pmhead;
  ptemp2=ptemp1->NextTrain;
  ptemp3=ptemp2->NextTrain;
  *pmhead=ptemp2;
  (*pmhead)->NextTrain=ptemp1;
  ptemp4=(*pmhead)->NextTrain;
  ptemp4->NextTrain=ptemp3;
 }
}
TRAIN **GetTrueAt(TRAIN **Head,int i)
{
 int k;
 TRAIN **ptemp;
 ptemp=Head;
 for(k=0;k<i;k++)
 {
  ptemp=&((*ptemp)->NextTrain);
 }
 return ptemp;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区在线视频免费| 国产精品一区二区在线播放 | 欧美伊人久久久久久久久影院| 国产91在线观看| 国产成人午夜99999| 国产精品一区三区| 国产不卡视频一区二区三区| 国产激情视频一区二区在线观看 | 久久国产视频网| 蜜臀精品久久久久久蜜臀| 久久精品国产精品青草| 久久99精品久久久久婷婷| 精久久久久久久久久久| 韩国午夜理伦三级不卡影院| 国产精品一区在线观看你懂的| 国产麻豆午夜三级精品| 国产v日产∨综合v精品视频| 国产成人免费视频一区| 99久久精品国产一区二区三区| 色综合天天综合网国产成人综合天| 91成人免费在线| 7777精品伊人久久久大香线蕉的 | 亚洲五月六月丁香激情| 亚洲成人福利片| 丝袜美腿成人在线| 激情五月婷婷综合| 成人免费视频播放| 在线观看欧美黄色| 日韩一区二区三区在线| 国产亚洲精品久| 亚洲免费av高清| 天堂av在线一区| 国产一区二区三区在线观看免费| 成人开心网精品视频| 色综合色狠狠天天综合色| 精品视频在线看| 亚洲精品在线观| 亚洲欧美国产毛片在线| 日韩和欧美的一区| 成人一区二区三区中文字幕| 欧美色图免费看| 2020日本不卡一区二区视频| 成人免费在线播放视频| 日本va欧美va欧美va精品| 国产成人在线免费| 欧美视频一二三区| 国产亚洲午夜高清国产拍精品| 亚洲裸体在线观看| 麻豆精品视频在线观看视频| www.av精品| 欧美日韩的一区二区| 久久天天做天天爱综合色| 亚洲女人的天堂| 蜜臀久久99精品久久久久宅男 | 国产精品全国免费观看高清| 亚洲成人动漫在线观看| 国产毛片一区二区| 欧美日本国产视频| 欧美激情一区二区三区四区| 亚欧色一区w666天堂| 丰满放荡岳乱妇91ww| 欧美精品三级在线观看| 国产精品久久久久永久免费观看| 日本不卡在线视频| 91麻豆国产自产在线观看| 欧美电影免费观看高清完整版在| 亚洲免费成人av| 成人深夜在线观看| 26uuu亚洲综合色| 日韩电影在线观看网站| 97se狠狠狠综合亚洲狠狠| 久久婷婷国产综合国色天香| 午夜欧美一区二区三区在线播放| 97久久精品人人做人人爽| 久久一日本道色综合| 亚洲v中文字幕| 色婷婷亚洲精品| 国产精品麻豆一区二区| 激情国产一区二区| 日韩一区二区三区精品视频| 亚瑟在线精品视频| 欧亚洲嫩模精品一区三区| 国产精品免费久久| 高清视频一区二区| 久久亚洲一区二区三区明星换脸 | 美国av一区二区| 欧美日韩三级一区| 一区二区不卡在线视频 午夜欧美不卡在| 国产夫妻精品视频| 精品成人一区二区三区四区| 欧美96一区二区免费视频| 欧美日韩国产综合视频在线观看 | 亚洲大片一区二区三区| 色婷婷综合中文久久一本| 国产精品二区一区二区aⅴ污介绍| 国产一区二区在线免费观看| 欧美va在线播放| 久久国产精品99久久久久久老狼 | 国产亚洲综合在线| 国产乱码字幕精品高清av | 天天综合天天综合色| 欧美性生活影院| 五月天婷婷综合| 欧美精品久久一区| 日韩高清在线一区| 一区二区视频免费在线观看| 91久久精品日日躁夜夜躁欧美| 亚洲人成在线观看一区二区| 色综合欧美在线| 一区二区三区在线视频播放| 欧美综合一区二区| 亚洲国产日韩在线一区模特| 欧美二区乱c少妇| 轻轻草成人在线| 精品国产3级a| 成人高清视频在线| 自拍av一区二区三区| 在线观看一区二区视频| 五月天久久比比资源色| 91精品国产综合久久小美女| 另类小说综合欧美亚洲| 久久欧美一区二区| 99久久国产综合精品麻豆| 亚洲自拍与偷拍| 4438x成人网最大色成网站| 毛片av一区二区| 国产欧美一区二区三区沐欲| 99久久综合精品| 亚洲电影中文字幕在线观看| 日韩一区二区三区在线| 国产69精品久久久久毛片| 亚洲色图一区二区三区| 欧美日韩免费电影| 国精产品一区一区三区mba视频 | 国产精品99久| 国产精品电影院| 制服丝袜国产精品| 国产成人亚洲综合色影视| 亚洲视频在线一区| 欧美一区二区三区不卡| 国产成人av一区二区三区在线观看| 亚洲日韩欧美一区二区在线| 538prom精品视频线放| 国产精品99久久久久久久女警 | 91麻豆国产自产在线观看| 天天综合网天天综合色| 国产欧美日韩在线| 欧美三级乱人伦电影| 精品一区二区三区免费播放| 亚洲欧美日韩一区二区 | 亚洲成av人影院| 久久久国产精华| 精品污污网站免费看| 国产激情一区二区三区| 亚洲成精国产精品女| 国产视频在线观看一区二区三区| 日本精品裸体写真集在线观看| 另类小说色综合网站| 亚洲精品久久7777| 精品福利一二区| 欧美性色黄大片| 国产不卡高清在线观看视频| 日韩精品色哟哟| 亚洲视频一区在线| 精品卡一卡二卡三卡四在线| 91麻豆福利精品推荐| 国内不卡的二区三区中文字幕| 亚洲主播在线播放| 国产亚洲精品资源在线26u| 欧美老人xxxx18| 99久久夜色精品国产网站| 裸体一区二区三区| 亚洲国产成人91porn| 亚洲欧洲日韩女同| 26uuu色噜噜精品一区| 7777精品久久久大香线蕉 | 国产精品入口麻豆原神| 欧美videos大乳护士334| 精品视频一区二区不卡| 色屁屁一区二区| 成人动漫精品一区二区| 日韩欧美一级二级三级久久久| 91国产免费观看| 成人综合激情网| 国产在线视频一区二区三区| 午夜激情一区二区三区| 一级日本不卡的影视| 国产精品高潮呻吟久久| 欧美精品一区二区三区久久久| 欧美巨大另类极品videosbest | 99久久精品免费看国产免费软件| 国产呦萝稀缺另类资源| 美女性感视频久久| 丝袜美腿亚洲色图| 午夜精品久久久久久久久久| 亚洲愉拍自拍另类高清精品| 亚洲图片激情小说| 综合久久国产九一剧情麻豆| 国产精品无码永久免费888| 久久久国产综合精品女国产盗摄|