當前位置:編程學習大全網 - 編程語言 - 列表編程

列表編程

#包含?& ltstdio.h & gt

#包含?& ltctype.h & gt

#包含?& ltstdlib.h & gt

#包含?& ltstring.h & gt

typedef?struct?記錄{

夏爾?標題[50];

夏爾?作者[20];

雙倍?價格;

int?數量;

struct?記錄?*下壹個;

}節點,* LinkList

鏈接列表?InitList()?{

節點?*頭?=?(節點?*)malloc(sizeof(Node));

head->;標題[0]?=?'\0';

head->;作者[0]?=?'\0';

head->;價格?=?0.0;

head->;數量?=?0;

head->;下壹個?=?NULL

回歸?頭;

}

作廢?添加(鏈接列表?頭)?{?//?頭部插入法

節點?*p?=?(節點?*)malloc(sizeof(Node));

fflush(stdin);

Printf("標題?:?");

獲取(p-& gt;標題);

Printf("作者?:?");

獲取(p-& gt;作者);

Printf("單價?:?");

scanf("%lf ",& ampp->;價格);

Printf("數量?:?");

scanf("%d ",& ampp->;數量);

p->;下壹個?=?head->;接下來;

head->;下壹個?=?p;

}

作廢?PrintBookList(LinkList?頭)?{

節點?*p?=?head->;接下來;

while(p)?{

Printf("標題?:?%s\n ",p-& gt;標題);

Printf("作者?:?%s\n ",p-& gt;作者);

Printf("單價?:?%.2lf元\n ",p-& gt;價格);

Printf("數量?:?%d \n\n ",p-& gt;數量);

p?=?p->;接下來;

}

系統(“暫停”);

}

作廢?排序(鏈表?頭)?{?//?選擇排序法

節點?*pt,*qt,*q,* p;

對於(p?=?頭;?p->;接下來;?p?=?p->;下壹個)?{

qt?=?p;

對於(q?=?p->;接下來;?q->;接下來;?q?=?q->;下壹個)

if(strcmp(Qt-& gt;下壹個-& gt;標題,q-& gt;下壹個-& gt;標題)?& gt?0)

qt?=?q;

如果(p?!=?qt)?{?//?調整節點位置

pt?=?p->;接下來;

p->;下壹個?=?Qt->;接下來;

Qt->;下壹個?=?Qt->;下壹個-& gt;接下來;

p->;下壹個-& gt;下壹個?=?pt;

}

}

}

int?刪除(鏈表?頭)?{

節點?*p,* q;

夏爾?標題[50];

Printf("請輸入妳要刪除的書的名字?:?");

獲取(標題);

對於(p?=?頭;?p->;接下來;?p?=?p->;下壹個)?{

if(strcmp(p-& gt;下壹個-& gt;標題,標題)?==?0)?{

q?=?p->;接下來;

p->;下壹個?=?q->;接下來;

免費(q);

Printf("圖書" %s "已成功刪除。\n”,標題);

回歸?1;

}

}

Printf("不好意思,找不到名字叫" %s "的書!\n”,標題);

回歸?0;

}

作廢?Modufy(鏈表?頭)?{

節點?*p?=?head->;接下來;

夏爾?標題[50];

int?安,旗;

做什麽?{

Printf("想修改書名?:?");

fflush(stdin);

獲取(標題);

旗幟?=?1;

while(p)?{

if(strcmp(title,p-& gt;標題)?==?0)?{

Printf("標題?:?");

獲取(p-& gt;標題);

Printf("作者?:?");

獲取(p-& gt;作者);

Printf("單價?:?");

scanf("%lf ",& ampp->;標題);

Printf("數量?:?");

scanf("%d ",& ampp->;數量);

旗幟?=?0;

打破;

}

p?=?p->;接下來;

}

if(flag)?Printf("找不到名為“%s”的書籍。\n”,標題);

不然呢?Printf("修改成功。\ n \ n ");

Printf("1,繼續修改0,返回主菜單\ n ");

scanf("%d ",& amp安);

}而(安?!=?0);

}

作廢?FreeList(鏈表?頭)?{

節點?*q,*p?=?頭;

while(p)?{

q?=?p->;接下來;

免費(p);

p?=?q;

}

}

作廢?菜單(作廢)?{

系統(“cls”);

printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

Printf("*1,add 2,display * \ n ");

Printf("*3,秩4,delete * \ n ");

Printf("*5,修改6,退出* \ n ");

printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n \ n ");

}

int?main()?{

int?選擇;

鏈接列表?頭?=?InitList();

做什麽?{

menu();

printf("Enter?妳的?選擇?:?");

scanf("%d ",& amp選擇);

切換(選擇)?{

案子?1?:?加(頭);?打破;

案子?2?:?print book list(head);?打破;

案子?3?:?排序(頭);?打破;

案子?4?:?刪除(頭);?打破;

案子?5?:?Modufy(頭);?打破;

違約?:?打破;

}

}while(選擇?!=?6);

FreeList(頭);

printf("End!\ n ");

回歸?0;

}

  • 上一篇:本科生工作面試自我介紹
  • 下一篇:人類的能力是有極限的,我不做人了!我要當壹名吸血鬼
  • copyright 2024編程學習大全網