【正文】
/**/int delet_char(char X) /* 刪除元素X,注意保存X的前趨元素指針! */{ p=head。if(headdata==X){head=headlink。free(p)。}else{ while((pdata!=X)amp。amp。(plink!=NULL)) {q=p。 p=plink。}if(pdata==X) { qlink=plink。 free(p)。 } else return(1)。}L。return(0)。}/**/void main(void) /*字母線性表的生成和輸出*/{ L=26。 build()。display()。printf(insert return value=%d\n,insert_char(39。L39。,39。W39。))。display()。printf(delete return value=%d\n,delet_char(39。z39。))。display()。}附:屏幕上顯示的執(zhí)行結(jié)果是:a b c d e f g h i j k l m n o p q r s t u v w x y zinsert return value=0a b c d 9 e f g h i j k l m n o p q r s t u v w x y z Ldelete return value=0a b c d e f g h i j k l m n o p q r s t u v w x y L第一次上機(jī)安排上機(jī)內(nèi)容要求時間1線性表的插入與刪除用鏈表存儲方式制作福利彩票(36選7)和體育彩票(10選7)的選號器。 第4周二晚6:309:50對內(nèi)容②的兩點(diǎn)說明:1. 福利彩票(36選7)的7個號不能重復(fù),而體育彩票(10選7)的7個號可以重復(fù);2. 建議用首尾相連的鏈?zhǔn)浇Y(jié)構(gòu),這樣可以更逼真地模擬“搖獎”過程;而每個號的“搖動”次數(shù)可用隨機(jī)數(shù)來確定。3. 怎樣產(chǎn)生隨機(jī)數(shù)?可以利用C語言中的種子函數(shù)srand( )和偽隨機(jī)函數(shù)rand( )來實現(xiàn)。① 首先,給srand(m )提供一個“種子”m,它的取值范圍是從0~65535。② 然后,調(diào)用rand( ),是偽隨機(jī)數(shù),它會根據(jù)提供給srand( )的“種子”值返回一個隨機(jī)數(shù)(在0~32767之間)。③ 根據(jù)需要多次調(diào)用rand( ),從而不斷地得到新的隨機(jī)數(shù)。④ 無論何時,你都可以給srand( )提供一個新的“種子”,從而進(jìn)一步“隨機(jī)化”rand( )的輸出結(jié)果。例如,取m=17,則執(zhí)行了srand(17)之后,再執(zhí)行rand( )函數(shù),將得到輸出值94;第二次調(diào)用rand( ),會得到26,……反復(fù)調(diào)用rand( )就能產(chǎn)生一系列的隨機(jī)數(shù)。注意:若m不變,則rand( )的輸出系列也不變,總是94,26,602,……等等。所以,建議搖號的“種子”選為當(dāng)前日期或時間,以保證每天的搖號值都不相同。實驗安排實驗內(nèi)容要求時間1線性表的插入與刪除 用鏈表存儲方式制作福利彩票(36選7)和體育彩票(10選7)的選號器。 第4周二晚6:309:502二叉排序樹(內(nèi)容二選一)① 對序列12,7,17,11,16,2,13,9,21,4構(gòu)成一棵二叉排序樹,并輸出按遞增排序的數(shù)據(jù)元素序列。② 先建立一個二叉樹,再分別按先序、中序、后序遍歷輸出得到的結(jié)點(diǎn)序列。第9周二晚6:309:503排序和查找(內(nèi)容二選一)③ 先從鍵盤輸入26個字母生成無序數(shù)組,對數(shù)組排序后,再從鍵盤輸入一個字符進(jìn)行二分查找。④ 從鍵盤對6個整型變量A、B、C、D、E、F賦值,并按從大到小的順序輸出它們的變量名和數(shù)值。第13周二晚6:309:508