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;
    		
    
    
    	   
    
    
    
    }
    

      

  • 相关阅读:
    From使用post与使用get区别
    HTML 自动跳转代码
    mjpgstreamer译文
    DOCUMENT.GETELEMENTBYID使用
    查看Linux内核版本的命令
    CGI编程学习5 穿插HTML,CSS零星知识
    使用Javascript显示时间
    北京大学<Perl 循序渐进>
    html之marquee详解
    Apache支持ASP.NET方法浅析
  • 原文地址:https://www.cnblogs.com/jzhao/p/3065489.html
Copyright © 2011-2022 走看看