zoukankan      html  css  js  c++  java
  • 非有序的静态查找表的查找某个元素的算法

    #include <stdio.h>
    #define MAX 10
    #define LEN 4
    
    typedef struct  {
    	int id;
    	char name[MAX];
    }STU;//语句1 
    
    typedef struct {
    
    	STU * elem;
    	int length;
    }SSTable; 
    STU * search(STU * ptr,int size,int id);//语句2
    //语句2应该在语句1之前因为语句2使用了STU.
    int search_seq(SSTable st,int id);
    
    
    int main(void)
    {
    	STU stu[LEN]={{0,""},{1,"sss"},{2,"aaa"},{3,"ddd"}};
    	int k=3;
    	SSTable st={stu,LEN};
    	
    	/*if(search(stu,3,2)!= NULL)
    		printf("%d,%s\n",search(stu,3,2)->id,search(stu,3,2)->name);
    	else
    		printf("no record!\n");*/
    	/*	
    	if(search_seq(st,k)!= NULL)
    		printf("%d,%s\n",search_seq(st,k)->id,search_seq(st,k)->name);
    	else
    		printf("no record!\n");*/
    	if(search_seq(st,k)==0)
    		printf("no record!\n");
    	else
    	printf("%d,%s\n",stu[search_seq(st,k)].id,stu[search_seq(st,k)].name);
    
    
    	
    	
    	return 0;
    }
    
    STU * search(STU * ptr,int size,int id)
    {
    	for(int i=0;i<size;i++)
    	{
    		if(ptr->id==id)
    			return ptr;
    		ptr++;
    		if(i==size-1)
    			return NULL;
    
    	}
    
    	
    }
    int  search_seq(SSTable st,int id)
    {
    	/*
    	for(int i=(st.length-1);i>=0;i--)
    	{
    		if(st.elem->id==id)
    			return st.elem;
    		st.elem++;
    		if(i==0)
    			return NULL;
    	}
    	*/
       
        st.elem[0].id=id;
    	for(int i=st.length-1;id!=st.elem[i].id;--i)
    		continue ;
    		return i;
    		
    
    
    	   
    
    
    
    }
    

      

  • 相关阅读:
    G a+b+c+d=?
    H Kuangyeye and hamburgers
    python 实现加法
    高精度板子
    angular项目一
    angular大牛的博客
    autocomplete
    angular的 表单
    快捷方式控制台调试each这种方法的时候怎么停
    自己练习的一些应该熟记的代码
  • 原文地址:https://www.cnblogs.com/jzhao/p/3065489.html
Copyright © 2011-2022 走看看