1、实验五 查找得实现 一、 实验内容 1、建立一个线性表,对表中数据元素存放得先后次序没有任何要求.输入待查数据元素得关键字进行查找。为了简化算法,数据元素只含一个整型关键字字段,数据元素得其余数据部分忽略不考虑.建议采用前哨得作用,以提高查找效率。 2、查找表得存储结构为有序表,输入待查数据元素得关键字利用折半查找方法进行查找.此程序中要求对整型量关键字数据得输入按从小到大排序输入。二、 源代码与执行结果1、inclotremsig namespace st ;defne MAX 0dein KyTpe itypef stuctpe key ;DataTpe;typedef strutDaay
2、 elemAX ;ilength ;SeqTble , PSeTable ;PSeTable ni_Sqable()SqTable p (Table)maloc(izeof(SeTable) ;i(p ! UL)p-lgt = 0 ;rn;elstOu f space!”endl ;rtun NL;intinsertSeqTable(PSeTablep,KeType x)(-length= X)ct”verow!lemlegh、key x ;p-t+ ;reur 1 ;i SqSarch(SqTbles ,KTypk)ntn , i = ;n = s、ength ;s、elen、e = ;wh
3、il(s、eemi、key != k)i + ;if(i = n)retrn 1 ;else rturn i ;oidain()PSeTabe ;int , ;Keyype a ;p =nit_qTa() ;outn ;cou请输入数据:”end ;fr( = 0 ; n ; +)cia ;insert_SqTale(p , a) ;cut请输入要查找得数据,输入376结束:” ;cin ;wi(a != 27)i =SSearc(*p, a) ;f(i = -)ct”无此数据!请重新输入:l ;cina ;eecout该数据得位置就是:i+1en ;cou请输入要查找得数据: ;i;2、in
4、cdeusin naespacest ;#defne MAX 100dfineKeyTye tyedefsructKeyTpe key ;ataTyp ;typede stutDataType emMAX ;in length ;BinTbe ,PBnabe ;PBinTab Ini_BiTabl()PBinable p = (PBiTabe)mllo(sizeof(inTable)) ;if(p != UL)p-length= ;eturn p ;eseoutt spe!endl ;rtur NUL ;int istBinTble(PBinTble p ,yTpe x)f(pnth MAX)
5、oterflow!”engt + ;return ;int inSearh(BinTables ,KeyTpe k)int lw,mid , i ;lo = 0 ;high = s、lngth-1 ;ile(low = hih)mid(ow+hig)2 ;if(s、lmmd、ky= k)retri;lse (s、elemmd、y )hih m 1 ;lelow = mid +1 ;rturn 1;oi main()PBinTabl p ;int ,n ;KeyType ;p IitBinable();u”请输入数据个数:”;nn;out请按从小到大得顺序输入数据:”a;insert_BinTable( ,a);couta;elecout该数据得位置就是:”i+1ndl ;ut”请输入要查找得数据: ;cina ;