資源描述:
《單鏈表的操作》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、單鏈表的操作本程序旨在使用設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu)和算法實(shí)現(xiàn)單鏈表的初始化、刪除、遍歷、查找、插入、排序等基本操作。單鏈表的結(jié)點(diǎn)保存一個(gè)結(jié)構(gòu)體信息(如學(xué)號(hào)、姓名、成績(jī)1、成績(jī)2、總成績(jī))。測(cè)試平臺(tái):VC++6.0。/************main.c**********/#include#include#include#include#include"Linklist.h"/*-----------------------------------主函數(shù)-----------------
2、-----------------*/voidmain(void){FILE*fp;PLinklisth=NULL,last=NULL,head=NULL;StuDentrst;inttotal,pos;charkeybuf,flag;Init_Linklist(&h);//初始化last=h;/*Openfileforinput:*/system("color4F");//背景顏色/*用system("color0A");其中color后面的0是背景色代號(hào),A是前景色代號(hào)。各顏色代碼如下:0=黑色1=藍(lán)色2=綠色3=湖藍(lán)色4=紅色5=紫色6=黃色7=白色
3、8=灰色9=淡藍(lán)色A=淡綠色B=淡淺綠色C=淡紅色D=淡紫色E=淡黃色F=亮白色*/system("pause");//按任意鍵開始if((fp=fopen("Score.txt","r"))==NULL){perror("fopenerror");//讀文件出錯(cuò),退出exit(-1);}while(1){if(fgets(buf,256,fp)==NULL)break;//-->文件已經(jīng)讀空,退出讀循環(huán)sscanf(buf,"%s%s%d%d%d",rst.sid,rst.name,&rst.sc1,&rst.sc2,&rst.sc3);//從一個(gè)字符串
4、中讀進(jìn)與指定格式相符的數(shù)據(jù)printf("Read:[%s]",buf);printf("Data[%s%s%d%d%d]",rst.sid,rst.name,rst.sc1,rst.sc2,rst.sc3);Read_Linklist(&last,rst);printf("Tweaverse:");Traverse_Linklist(h);total=Length_Linklist(h);printf("%d",total);}fclose(fp);//讀文件操作結(jié)束,關(guān)閉文件while(1){system("pause");//暫停sy
5、stem("cls");//清屏printf("**************************");printf("*鏈表操作*");printf("**************************");printf("—————————————————主菜單——————————————————");printf("**********S__遍歷:*********");printf("**********I__插入:*********");printf("**********D__刪除結(jié)點(diǎn):*********");p
6、rintf("**********F__查找內(nèi)容:*********");printf("**********L__查看結(jié)點(diǎn)數(shù):*********");printf("**********Q__寫入文件并退出:*********");printf("**********B__排序(升序):*********");fflush(stdin);//清除文件緩沖區(qū),文件以寫方式打開時(shí)將緩沖區(qū)內(nèi)容寫入文件printf("——————————————————————————————————————");printf("請(qǐng)你選擇操作編號(hào):");
7、printf("-->");keybuf=getchar();switch(keybuf){case'S':Traverse_Linklist(h);break;case'D':printf("請(qǐng)選擇您刪除的結(jié)點(diǎn):");printf("-->");scanf("%d",&pos);Delete_Linklist(h,pos);break;case'L':printf("鏈表長(zhǎng)度為:");total=Length_Linklist(h);printf("%d",total);break;case'Q':File_Linklist(h);//寫入文
8、件exit(1);case'I':printf("請(qǐng)輸入要插入的結(jié)