资源描述:
《数据结构CAI系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、--/*2.源程序第一部分*//***binary.c二分查找程序***/#include#include#defineN15/*结点数设为15*/voidfind(intx[],inty,intz);/*具体查找过程voidInit(intx[],int*n);/*图形初始化*/voidClose();/*图形关闭*/voidPut(intx[],inty);/*输出数值*/voidUp(intx);/*画上箭*/voidDown(intx);/*画下箭*/voidMid(intx);/*画中间箭*/voidC
2、lr(intx);/*擦除画面上的一些内容*/voidSort(intx[],intn);/*对随机数组排序*/voidmain(void){*/---inta[N],x;---Init(a,&x);/*x为要查找的数*/---Put(a,N);find(a,x,N);Close();exit(0);}---voidMid(intn)/*画中间键*/---{---setcolor(WHITE);/*中间箭的颜色为白色,以下三条线画成了箭头,以下两个函数一样*/line(25+n*40,120,25+n*40,80);line(25+n*40,12
3、0,20+n*40,110);line(25+n*40,120,30+n*40,110);}voidDown(intn)/*画上箭*/{setcolor(6);line(25+n*40,120,25+n*40,80);line(25+n*40,120,20+n*40,110);line(25+n*40,120,30+n*40,110);}voidUp(intn)/*画下箭*/{setcolor(6);line(25+n*40,180,25+n*40,220);line(25+n*40,180,20+n*40,190);line(25+n*40,180,30
4、+n*40,190);---}voidClr(inty)/*擦除画面上的一些内容*/{setfillstyle(SOLID_FILL,0);/*每次演示的时候先将下面显示的文字给去处掉*/bar(0,y+50,640,y-50);/*这里是用矩形的方式*/}voidPut(inta[],intn)/*输出数值*/{inti;charnum[5];setcolor(GREEN);settextstyle(0,0,2);/*设置字体的大小*/for(i=0;i5、xtxy(20+i*40,150,num);}settextstyle(0,0,1);setcolor(BLUE);outtextxy(250,250,"anykeytocontinue");getch();}voidfind(inta[],inty,intn)/*具体的查找*/{intlow,high,mid,i;charstr1[5],str2[5];sprintf(str1,"%d",y);low=0;high=n-1;setcolor(RED);settextstyle(0,0,2);outtextxy(200,10,"FIND");outtext
6、xy(330,10,str1);while(low<=high){Clr(250);Clr(80);---Clr(230);/*这里三个Clr是为了把屏幕上的箭头和文字删了*/---mid=(high+low)/2;/*计算中间位置*/---Up(high);/*Down(low);/*Mid(mid);/*if(a[mid]==y)/*显示上边箭头*/显示右边箭头*/画好了三个箭头后开始查找如果找到跳出循环*/*/---break;if(a[mid]7、%d",a[mid]);---outtextxy(250,250,str2);/*显示比较数据的情况*/---outtextxy(300,250,"<");outtextxy(350,250,str1);}else{---high=mid-1;/*修改右边界*/---sprintf(str2,"%d",a[mid]);outtextxy(250,250,str2);/*显示比较数据的情况*/outtextxy(300,250,">");outtextxy(350,250,str1);}---sleep(2);/*间隔一秒好执行下一次*/---}
8、setcolor(11);---if(low<=high)/*找