完成顺序查找函数f_seq( )

[复制链接]
查看11 | 回复2 | 2011-5-6 00:10:48 | 显示全部楼层 |阅读模式
其过程是:从表头开始,根据给定的模式,逐项与表中元素比较。如果找到所需元素,则查找成功,并打印出它在表中的顺序号。如果查找整个表仍未找到所需对象,则查找失败
 #include
 void f_seq(char *list[],char *object,int len)
 //list 指针数组,指向字符串
 //object 模式串
 //len 表的长度
 {
  char **p;
  int strcmp(char *s,char *t);
  p=list;
  while (_____①______)
   if (strcmp(*p,object)==0)
    break;
   else ______②_______;
   if (p<list+len)
    printf( "Success! **% d\n",p-list);
   else printf("Unsuccess!\n");
 }
 int strcmp(char *s,char *t)
 {
  for (;*s==*t; s++,t++)
   if (*s=='\0')
    return(0);
    return(_____③______);

回复

使用道具 举报

千问 | 2011-5-6 00:10:48 | 显示全部楼层
你的代码惨不忍睹啊!!太多的错误。先看你的3个函数声明和定义,参数的类型不匹配。这个好改:把声明语句的char arr改为char arr[]就可。再看你的函数void bin_search1(char arr[],char key)的定义,这个程序没有终止条件,一直循环了,这个也好改:if(arr[mid]==key){
cout<<"您要查找的字母的下标为:"<<mid<<endl<<"非递归的二分法查找的查找次数为:"
//添加一行
break;}if(arr[mid]<key)high=mid-1; if(ar
回复

使用道具 举报

千问 | 2011-5-6 00:10:48 | 显示全部楼层
(1)p<list+len(2)p++(3)s-t或*s-*t或1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行