




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和評(píng)價(jià)案例分析(一)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和評(píng)價(jià)案例分析(一)1案例分析(一)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)案例一:?jiǎn)栴}:我校擬開(kāi)發(fā)在校人員信息管理系統(tǒng),主要管理學(xué)生成績(jī)信息,老師工資課程信息,行政人員工資信息等,請(qǐng)?jiān)O(shè)計(jì)合適的數(shù)據(jù)結(jié)構(gòu),開(kāi)發(fā)出相應(yīng)的信息管理系統(tǒng)案例分析(一)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)案例一:2該問(wèn)題的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)要點(diǎn)A.數(shù)據(jù)節(jié)點(diǎn)設(shè)計(jì)學(xué)生節(jié)點(diǎn):structstudent{Intstudentnumber;charstudentname[10];floatmaths;};教師節(jié)點(diǎn):structteacher{intteachernumber;Charteachername[10];charsubjectname[10];floatsalary;};行政人員節(jié)點(diǎn):Structcarder{Intcardernumber;Charcardername[20];Charcarderposition[10];Floatsalary;};該問(wèn)題的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)要點(diǎn)A.數(shù)據(jù)節(jié)點(diǎn)設(shè)計(jì)3B.數(shù)據(jù)組織和數(shù)據(jù)結(jié)構(gòu)管理將學(xué)生,教師,行政人員數(shù)據(jù)分別存放在三個(gè)數(shù)組中.用一個(gè)結(jié)構(gòu)體類型管理數(shù)組的首地址和每個(gè)數(shù)組的實(shí)際長(zhǎng)度Typedefstruct{student*elemstudent;//學(xué)生數(shù)組首地址teacher*elemteacher;//教師數(shù)組首地址carder*elemcarder;//行政人員數(shù)組首地址intstudentlength;//學(xué)生數(shù)組實(shí)際長(zhǎng)度intteacherlength;//教師數(shù)組實(shí)際長(zhǎng)度intcarderlength;//行政人員數(shù)組實(shí)際長(zhǎng)度intmaxsize;//數(shù)組最大值}sqlist;//此為管理類型B.數(shù)據(jù)組織和數(shù)據(jù)結(jié)構(gòu)管理將學(xué)生,教師,行政人員數(shù)據(jù)分別存放4B.數(shù)據(jù)組織和數(shù)據(jù)結(jié)構(gòu)管理將學(xué)生,教師,行政人員數(shù)據(jù)分別存放在三個(gè)數(shù)組中.用一個(gè)結(jié)構(gòu)體類型管理數(shù)組的首地址和每個(gè)數(shù)組的實(shí)際Typedefstruct{student*elemstudent;//學(xué)生數(shù)組首地址teacher*elemteacher;//教師數(shù)組首地址carder*elemcarder;//行政人員數(shù)組首地址intstudentlength;//學(xué)生數(shù)組實(shí)際長(zhǎng)度intteacherlength;//教師數(shù)組實(shí)際長(zhǎng)度intcarderlength;//行政人員數(shù)組實(shí)際長(zhǎng)度intmaxsize;//數(shù)組最大值}sqlist;//此為管理類型B.數(shù)據(jù)組織和數(shù)據(jù)結(jié)構(gòu)管理將學(xué)生,教師,行政人員數(shù)據(jù)分別存5C、主題算法設(shè)計(jì)主要算法為:1.生成空順序表算法STATUSinitlist_sq(sqlist&L){L.elemstudent=(student*)malloc(100*sizeof(student));L.elemteacher=(teacher*)malloc(100*sizeof(teacher));L.elemcarder=(carder*)malloc(100*sizeof(carder));L.studentlength++;L.teacherlength++;L.carderlength++;}
有了空表,如何向表中加入數(shù)據(jù)呢?思考此處的問(wèn)題與書(shū)有何異同?2.數(shù)據(jù)生成算法Statusstudent_insert(sqlist&L,intI,studente){此處代碼如何寫(xiě)}C、主題算法設(shè)計(jì)主要算法為:6思考剛才是一次插入一個(gè)數(shù)據(jù)的算法,能否寫(xiě)一個(gè)算法一次讀多個(gè)數(shù)據(jù)Statusstudent_read(sqlist&L){studentx;inti=0;scanf(“%d%s%f”,&x.studentnumber,x.studentname,&x.maths);While(x.studentnumber!=0){L.elemstudent[i]=x;scanf(“%d%s%f”,&x.studentnumber,x.studentname,&x.maths);i++;}L.studentlength=i;}returnok;}思考剛才是一次插入一個(gè)數(shù)據(jù)的算法,能否寫(xiě)一個(gè)算法一次讀多個(gè)數(shù)73.數(shù)據(jù)的打印
數(shù)據(jù)打印函數(shù)設(shè)計(jì):應(yīng)該設(shè)計(jì)三個(gè)函數(shù),分別打印學(xué)生,教師,行政人員Voidstudentdataprint(sqlist&L){inti;for(i=0;i<L.studentlength;i++)printf(“%d%s%f”,L.elemstudent[i].studentnumber,L.elemstudent[i].studentname,L.elemstudent[i].maths);printf(“\n”);}//學(xué)生數(shù)據(jù)打印程序結(jié)束
3.數(shù)據(jù)的打印數(shù)據(jù)打印函數(shù)設(shè)計(jì):應(yīng)該設(shè)計(jì)三個(gè)函數(shù),分別打84.其它算法設(shè)計(jì)其他函數(shù)設(shè)計(jì)。查找,排序函數(shù)設(shè)計(jì)等
4.其它算法設(shè)計(jì)其他函數(shù)設(shè)計(jì)。查找,排序函數(shù)設(shè)計(jì)等9主函數(shù)設(shè)計(jì)主函數(shù)設(shè)計(jì)Voidmain(){sqlistdatastructuremanger;//管理變量Structstudentx1;Structteacherx2;Structcarderx3;initlist_sq(datastrcturemanger);//生成空順序表//從鍵盤(pán)讀入數(shù)據(jù)Printf(“\n請(qǐng)讀入學(xué)生數(shù)據(jù)”);student_read(datastruremanger);//學(xué)生數(shù)據(jù)讀取//思考,教師和行政人員的數(shù)據(jù)如何讀?能從文件讀入嗎?//打印函數(shù)調(diào)用studentdataprint(datastructuremanger);//學(xué)生數(shù)據(jù)打印//其他函數(shù)調(diào)用}主函數(shù)設(shè)計(jì)主函數(shù)設(shè)計(jì)10數(shù)據(jù)結(jié)構(gòu)評(píng)價(jià)A.算法設(shè)計(jì)的一致性。算法中的形參應(yīng)有數(shù)據(jù)結(jié)構(gòu)的理者,算法描述應(yīng)簡(jiǎn)單,有效,各算法基本上風(fēng)格一致。有些函數(shù)用了管理變量,有些函數(shù)不用,這就是風(fēng)格的不一致。此外還要注意函數(shù)名,標(biāo)始符的規(guī)范一致性數(shù)據(jù)結(jié)構(gòu)評(píng)價(jià)A.算法設(shè)計(jì)的一致性。11B.數(shù)據(jù)組織和管理效率。在組織數(shù)據(jù)時(shí)是采用線性表還是樹(shù)或圖,要具體問(wèn)題具體分析。比如要設(shè)計(jì)一個(gè)股份制家族成員的財(cái)務(wù)信息管理系統(tǒng),重點(diǎn)是管理他們的財(cái)務(wù),這時(shí)就不能盲目的采用樹(shù)去組織每個(gè)成員的數(shù)據(jù)。親兄弟明算帳,沒(méi)必要考慮血緣輩分關(guān)系。但要你設(shè)計(jì)一個(gè)家譜管理系統(tǒng)時(shí),用樹(shù)結(jié)構(gòu)是最合適的選擇
B.數(shù)據(jù)組織和管理效率。12C.算法選擇在設(shè)計(jì)部分算法時(shí),有很多方法可供選擇,比如那么多的查找和排序算法,我們究竟選擇那種算法?原則是在兼顧算法復(fù)雜性的情況下,選擇那些易讀性強(qiáng)的算法。除非特殊需要,不能只顧時(shí)間復(fù)雜性C.算法選擇13思考題和作業(yè)1.思考題:如果要管理元素周期表,該如何設(shè)計(jì)相應(yīng)的數(shù)據(jù)結(jié)構(gòu)呢?2.作業(yè):完成今天所示案例的程序設(shè)計(jì)主題部分:要求有數(shù)據(jù)輸入,數(shù)據(jù)打印,數(shù)據(jù)查找,排序等功能思考題和作業(yè)1.思考題:如果要管理元素周期表,該如何設(shè)計(jì)相應(yīng)14本案例的完整程序本案例的完整程序15數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和評(píng)價(jià)案例分析(一)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和評(píng)價(jià)案例分析(一)16案例分析(一)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)案例一:?jiǎn)栴}:我校擬開(kāi)發(fā)在校人員信息管理系統(tǒng),主要管理學(xué)生成績(jī)信息,老師工資課程信息,行政人員工資信息等,請(qǐng)?jiān)O(shè)計(jì)合適的數(shù)據(jù)結(jié)構(gòu),開(kāi)發(fā)出相應(yīng)的信息管理系統(tǒng)案例分析(一)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)案例一:17該問(wèn)題的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)要點(diǎn)A.數(shù)據(jù)節(jié)點(diǎn)設(shè)計(jì)學(xué)生節(jié)點(diǎn):structstudent{Intstudentnumber;charstudentname[10];floatmaths;};教師節(jié)點(diǎn):structteacher{intteachernumber;Charteachername[10];charsubjectname[10];floatsalary;};行政人員節(jié)點(diǎn):Structcarder{Intcardernumber;Charcardername[20];Charcarderposition[10];Floatsalary;};該問(wèn)題的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)要點(diǎn)A.數(shù)據(jù)節(jié)點(diǎn)設(shè)計(jì)18B.數(shù)據(jù)組織和數(shù)據(jù)結(jié)構(gòu)管理將學(xué)生,教師,行政人員數(shù)據(jù)分別存放在三個(gè)數(shù)組中.用一個(gè)結(jié)構(gòu)體類型管理數(shù)組的首地址和每個(gè)數(shù)組的實(shí)際長(zhǎng)度Typedefstruct{student*elemstudent;//學(xué)生數(shù)組首地址teacher*elemteacher;//教師數(shù)組首地址carder*elemcarder;//行政人員數(shù)組首地址intstudentlength;//學(xué)生數(shù)組實(shí)際長(zhǎng)度intteacherlength;//教師數(shù)組實(shí)際長(zhǎng)度intcarderlength;//行政人員數(shù)組實(shí)際長(zhǎng)度intmaxsize;//數(shù)組最大值}sqlist;//此為管理類型B.數(shù)據(jù)組織和數(shù)據(jù)結(jié)構(gòu)管理將學(xué)生,教師,行政人員數(shù)據(jù)分別存放19B.數(shù)據(jù)組織和數(shù)據(jù)結(jié)構(gòu)管理將學(xué)生,教師,行政人員數(shù)據(jù)分別存放在三個(gè)數(shù)組中.用一個(gè)結(jié)構(gòu)體類型管理數(shù)組的首地址和每個(gè)數(shù)組的實(shí)際Typedefstruct{student*elemstudent;//學(xué)生數(shù)組首地址teacher*elemteacher;//教師數(shù)組首地址carder*elemcarder;//行政人員數(shù)組首地址intstudentlength;//學(xué)生數(shù)組實(shí)際長(zhǎng)度intteacherlength;//教師數(shù)組實(shí)際長(zhǎng)度intcarderlength;//行政人員數(shù)組實(shí)際長(zhǎng)度intmaxsize;//數(shù)組最大值}sqlist;//此為管理類型B.數(shù)據(jù)組織和數(shù)據(jù)結(jié)構(gòu)管理將學(xué)生,教師,行政人員數(shù)據(jù)分別存20C、主題算法設(shè)計(jì)主要算法為:1.生成空順序表算法STATUSinitlist_sq(sqlist&L){L.elemstudent=(student*)malloc(100*sizeof(student));L.elemteacher=(teacher*)malloc(100*sizeof(teacher));L.elemcarder=(carder*)malloc(100*sizeof(carder));L.studentlength++;L.teacherlength++;L.carderlength++;}
有了空表,如何向表中加入數(shù)據(jù)呢?思考此處的問(wèn)題與書(shū)有何異同?2.數(shù)據(jù)生成算法Statusstudent_insert(sqlist&L,intI,studente){此處代碼如何寫(xiě)}C、主題算法設(shè)計(jì)主要算法為:21思考剛才是一次插入一個(gè)數(shù)據(jù)的算法,能否寫(xiě)一個(gè)算法一次讀多個(gè)數(shù)據(jù)Statusstudent_read(sqlist&L){studentx;inti=0;scanf(“%d%s%f”,&x.studentnumber,x.studentname,&x.maths);While(x.studentnumber!=0){L.elemstudent[i]=x;scanf(“%d%s%f”,&x.studentnumber,x.studentname,&x.maths);i++;}L.studentlength=i;}returnok;}思考剛才是一次插入一個(gè)數(shù)據(jù)的算法,能否寫(xiě)一個(gè)算法一次讀多個(gè)數(shù)223.數(shù)據(jù)的打印
數(shù)據(jù)打印函數(shù)設(shè)計(jì):應(yīng)該設(shè)計(jì)三個(gè)函數(shù),分別打印學(xué)生,教師,行政人員Voidstudentdataprint(sqlist&L){inti;for(i=0;i<L.studentlength;i++)printf(“%d%s%f”,L.elemstudent[i].studentnumber,L.elemstudent[i].studentname,L.elemstudent[i].maths);printf(“\n”);}//學(xué)生數(shù)據(jù)打印程序結(jié)束
3.數(shù)據(jù)的打印數(shù)據(jù)打印函數(shù)設(shè)計(jì):應(yīng)該設(shè)計(jì)三個(gè)函數(shù),分別打234.其它算法設(shè)計(jì)其他函數(shù)設(shè)計(jì)。查找,排序函數(shù)設(shè)計(jì)等
4.其它算法設(shè)計(jì)其他函數(shù)設(shè)計(jì)。查找,排序函數(shù)設(shè)計(jì)等24主函數(shù)設(shè)計(jì)主函數(shù)設(shè)計(jì)Voidmain(){sqlistdatastructuremanger;//管理變量Structstudentx1;Structteac
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 自然資源的開(kāi)發(fā)利用 隨堂檢測(cè)題-人教版高中化學(xué)必修第二冊(cè)
- 重慶市某中學(xué)2024-2025學(xué)年八年級(jí)下學(xué)期期末語(yǔ)文試題(解析)
- 2025年保安員考試題庫(kù)及答案(基礎(chǔ)+提升)
- 2025年安徽省安慶市社會(huì)工作者職業(yè)資格社會(huì)工作實(shí)務(wù)(初級(jí))預(yù)測(cè)試題含答案
- 看臺(tái)座椅安裝的標(biāo)識(shí)系統(tǒng)規(guī)范考核試卷
- 智能化產(chǎn)品原型驗(yàn)證工具考核試卷
- 乙醇與乙酸(教材深度講義)-高一化學(xué)(人教版)
- 電熱卷發(fā)棒修理技術(shù)考核試卷
- 重難點(diǎn):化學(xué)用語(yǔ)-2024年高考化學(xué)專練(新高考專用)解析版
- 小升初數(shù)學(xué)專項(xiàng)提升:從負(fù)數(shù)到有理數(shù)-教師版
- 2025年新云南會(huì)計(jì)靈活用工協(xié)議書(shū)
- 對(duì)臺(tái)貿(mào)易管理辦法
- 眼疾病課件教學(xué)課件
- 超聲醫(yī)學(xué)心包填塞診斷與應(yīng)用
- 2025年初中音樂(lè)教師招聘考試試卷含答案(三套)
- 2025小紅書(shū)閉環(huán)電商推廣投放產(chǎn)品與方法論
- 暑假社區(qū)托管活動(dòng)方案
- 經(jīng)尿道膀胱腫瘤電切術(shù)護(hù)理
- 礦山機(jī)電安全培訓(xùn)
- 水暖工三級(jí)安全教育題庫(kù)
- 2025-2030中國(guó)阿膠市場(chǎng)營(yíng)銷規(guī)模及消費(fèi)前景趨勢(shì)預(yù)測(cè)報(bào)告
評(píng)論
0/150
提交評(píng)論