⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 程序设计:哈希表的一个应用_数据结构与算法_数据结构算法_c语言_c 语言之家.htm

📁 严蔚民版的数据结构的完整课件
💻 HTM
📖 第 1 页 / 共 4 页
字号:
  <TBODY>
  <TR><!--<td width="20%" align="middle" valign="top" background="images/002.jpg" bordercolor="#e2ca9f"> </td> 
<td width="80%">-->
    <TD width="100%">
      <TABLE border=0 borderColor=#e2ca9f cellPadding=0 cellSpacing=0 
      width="100%">
        <TBODY>
        <TR>
          <TD align=middle vAlign=top width="95%">
            <TABLE border=1 borderColor=#e2ca9f cellPadding=0 cellSpacing=0 
            width="100%">
              <TBODY>
              <TR>
                <TD align=middle 
                background="程序设计:哈希表的一个应用_数据结构与算法_数据结构算法_C语言_C 语言之家.files/002.jpg" 
                borderColor=#e2ca9f vAlign=top width="69%">
                  <TABLE align=center border=0 cellPadding=0 cellSpacing=0 
                  width="100%">
                    <TBODY>
                    <TR>
                      <TD height=40 width="100%"></TD></TR>
                    <TR>
                      <TD>
                        <FORM action=Readnews.asp?newsid=1522&amp;id2=1522 
                        method=post name=form1>
                        <CENTER><!-- <input type=submit name=aa value="点击关闭浮动图标" width=20 title="点击广告支持本站">--></CENTER></FORM></TD></TR>
                    <TR>
                      <TD align=middle bgColor=#dddddd height=20 
                      style="FONT-SIZE: 18px" vAlign=bottom 
                        width="85%"><STRONG><FONT color=#003399 
                        size=4><B>程序设计:哈希表的一个应用 </B></FONT></STRONG></TD><BR></TR>
                    <TR>
                      <TD align=middle width="100%"><BR></TD></TR>
                    <TR>
                      <TD align=middle style="FONT-SIZE: 9pt" 
                        width="100%">发表日期:2003年6月17日&nbsp;&nbsp;出处:实习报告&nbsp;&nbsp;作者:姚建飞&nbsp;&nbsp;已经有2643位读者读过此文</TD></TR>
                    <TR>
                      <TD align=middle width="100%"><!--下面的这一句是设置阅读文本区的宽度-->
                        <TABLE align=center border=0 cellPadding=0 cellSpacing=0 
                        style="TABLE-LAYOUT: fixed" width="90%">
                          <TBODY>
                          <TR>
                            <TD align=middle width="100%"></TD></TR>
                          <TR>
                            <TD style="WORD-WRAP: break-word"><FONT 
                              class=news><BR>
                              <P>#include &lt;stdio.h&gt;<BR>#include 
                              &lt;conio.h&gt;<BR>#include 
                              &lt;ctype.h&gt;<BR>#define L 50 
                              /*定义哈希表长*/<BR>#define M 47&nbsp; 
                              /*定义p值*/<BR>#define N 30&nbsp;&nbsp; 
                              /*定义名单长*/<BR>char z[22];<BR>struct old{char 
                              *name;char *py;int k;};<BR>struct old 
                              oldlist[L];/*原始表*/<BR>struct&nbsp; hterm<BR>{ char 
                              *name;char *py;<BR>int k;int si;<BR>};<BR>struct 
                              hterm hlist[L];/*哈希表*/<BR>int i,adr,sum,d;<BR>char 
                              ch1;<BR>float 
                              average;<BR>/**********************************/<BR>void 
                              chash()<BR>{for 
                              (i=0;i&lt;L;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
                              {hlist[i].name="";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              hlist[i].py="";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              hlist[i].k=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              hlist[i].si=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
                              };<BR>&nbsp;for 
                              (i=0;i&lt;N;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp; { 
                              sum=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
                              adr=(oldlist[i].k)%M;<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
                              d=adr;<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
                              if(hlist[adr].si==0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              {hlist[adr].k=oldlist[i].k;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              hlist[adr].name=oldlist[i].name;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              hlist[adr].py=oldlist[i].py;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              hlist[adr].si=1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              }<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
                              else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              {do<BR>&nbsp;&nbsp; 
                              {d=(d+((oldlist[i].k))%10+1)%M;/*伪随机*/<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              sum=sum+1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              while 
                              (hlist[d].k!=0);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              hlist[d].k=oldlist[i].k;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              hlist[d].name=oldlist[i].name;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              hlist[d].py=oldlist[i].py;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              hlist[d].si=sum+1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              }<BR>&nbsp; }<BR>}</P>
                              <P>/***************************************/<BR>void 
                              findhlist()<BR>{ int s0;char r,g;<BR>&nbsp; 
                              clrscr();/*清屏*/<BR>&nbsp; for 
                              (r=0;r&lt;20;r++){z[r]=0;};<BR>&nbsp;&nbsp; 
                              gotoxy(1,1);printf("查找:copyright by 姚建飞 
                              2003.6");<BR>&nbsp;gotoxy(5,10);printf("请拼音后回车!");<BR>&nbsp;gotoxy(5,12);scanf("%s",z);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              s0=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for 
                              (r=0;r&lt;20;r++){s0=z[r]+s0;};<BR>&nbsp; 
                              gotoxy(5,13);&nbsp;&nbsp;&nbsp; 
                              printf("%d",s0);<BR>&nbsp;/*for 
                              (i=0;i&lt;L;i++)*/<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              sum=1;<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
                              adr=s0%M;<BR>&nbsp;&nbsp;&nbsp; 
                              d=adr;<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
                              if(hlist[adr].k==s0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              gotoxy(18,18);printf("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              ");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              gotoxy(18,18);printf("%s",hlist[d].name);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              gotoxy(18,19);printf("%s",hlist[d].py);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              gotoxy(18,20);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              printf("搜索 %d 
                              次",sum);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              getch();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              }<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
                              else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {if 
                              (hlist[adr].k==0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              &nbsp;&nbsp;&nbsp;&nbsp; {gotoxy 
                              (18,18);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              printf("无记录!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              ");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              getch();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              &nbsp;&nbsp;&nbsp;&nbsp; 
                              }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              &nbsp;else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              {g=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              for 
                              (i=0;g==0;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              {d=(d+s0%10+1)%M;&nbsp;&nbsp; 
                              /*伪随机*/<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              sum=sum+1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              if 
                              (hlist[d].k==0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              {gotoxy 
                              (18,18);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              printf("无记录!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              ");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              g=1;getch();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              };<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              gotoxy(18,18);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              printf("%s",hlist[d].name);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              gotoxy(18,19);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              printf("%s",hlist[d].py);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              gotoxy(18,20);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              printf("搜索 %d 
                              次",sum);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              getch();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              if 
                              (hlist[d].k==s0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              {&nbsp;&nbsp; 
                              g=1;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              gotoxy(18,21);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              printf("搜索 %d 
                              次成功!",sum);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              getch();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              };<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              };</P>
                              <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              };</P>
                              <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };</P>
                              <P>}</P>
                              <P><BR>/***************************************/<BR>void 
                              inp() /*输入表*/<BR>{<BR>&nbsp;char *f;<BR>&nbsp;int 
                              r,s0;</P>
                              <P>&nbsp;oldlist[0].name="桂芳芳";oldlist[0].py="guifanfan";<BR>&nbsp;oldlist[1].name="姚建飞";oldlist[1].py="yaojianfei";<BR>&nbsp;oldlist[2].name="杨扬";oldlist[2].py="yangyang";<BR>&nbsp;oldlist[3].name="朱玉环";oldlist[3].py="zhuyuhuang";<BR>&nbsp;oldlist[5].name="陈曦";oldlist[5].py="chenxi";<BR>&nbsp;oldlist[6].name="张雷";oldlist[6].py="zhanglei";<BR>&nbsp;oldlist[7].name="盛永海";oldlist[7].py="shenyonghai";<BR>&nbsp;oldlist[8].name="陈道全";oldlist[8].py="chengdaoquan";<BR>&nbsp;oldlist[9].name="陆道清";oldlist[9].py="ludaoqing";<BR>&nbsp;oldlist[10].name="龚云祥";oldlist[10].py="gongyunxiang";<BR>&nbsp;oldlist[11].name="孙振兴";oldlist[11].py="sunzhenxing";<BR>&nbsp;oldlist[12].name="孙容飞";oldlist[12].py="sunrongfei";<BR>&nbsp;oldlist[13].name="孙明龙";oldlist[13].py="sunminglong";<BR>&nbsp;oldlist[14].name="张浩";oldlist[14].py="zhanghao";<BR>&nbsp;oldlist[15].name="田苗";oldlist[15].py="tianmiao";<BR>&nbsp;oldlist[16].name="姚建中";oldlist[16].py="yaojianzhong";<BR>&nbsp;oldlist[17].name="姚建清";oldlist[17].py="yaojianqing";<BR>&nbsp;oldlist[18].name="姚建华";oldlist[18].py="yaojianhua";<BR>&nbsp;oldlist[19].name="张海峰";oldlist[19].py="yaohaifeng";<BR>&nbsp;oldlist[20].name="陈言号";oldlist[20].py="chengyanhao";<BR>&nbsp;oldlist[21].name="姚秋锋";oldlist[21].py="yaoqiufeng";<BR>&nbsp;oldlist[22].name="钱鹏程";oldlist[22].py="qianpengcheng";<BR>&nbsp;oldlist[23].name="姚海峰";oldlist[23].py="yaohaifeng";<BR>&nbsp;oldlist[24].name="卞艳";oldlist[24].py="bianyan";<BR>&nbsp;oldlist[25].name="凌蕾";oldlist[25].py="linglei";<BR>&nbsp;oldlist[26].name="李伟";oldlist[26].py="liwei";<BR>&nbsp;oldlist[27].name="黄海燕";oldlist[27].py="huanhaiyan";<BR>&nbsp;oldlist[28].name="刘殿琴";oldlist[28].py="liudianqin";<BR>&nbsp;oldlist[29].name="李云";oldlist[29].py="liyun";</P>
                              <P>/*<BR>请在此输入数据,同时修改程序开头的 M L N</P>
                              <P>&nbsp;</P>
                              <P>&nbsp;</P>
                              <P>*/<BR>for 
                              (i=0;i&lt;N;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
                              {<BR>&nbsp;s0=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              f=oldlist[i].py;</P>
                              <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for 
                              (r=0;*(f+r) != '\0';r++){s0=*(f+r)+s0;};</P>
                              <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
                              oldlist[i].k=s0;</P>
                              <P><BR>&nbsp;&nbsp;&nbsp;&nbsp; };</P>
                              <P>}</P>
                              <P>&nbsp;</P>
                              <P>/****************************************/<BR>void&nbsp; 
                              dhash() /*显示哈希表*/<BR>{&nbsp; char 
                              LON=17;<BR>&nbsp;&nbsp; clrscr();<BR>&nbsp;&nbsp; 
                              if (LON&gt;L){LON=L;};<BR>&nbsp;&nbsp; 
                              gotoxy(1,1);printf("哈希表:copyright by 姚建飞 
                              2003.6");<BR>&nbsp;&nbsp; 
                              gotoxy(1,2);printf("地址:");<BR>&nbsp;&nbsp; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -