数据结构实验

1、单链表的顺序查找

LinkList serach(LinkList head,ElemType key)
{	//在带头结点的单链表head中查找其值为key的结点
	LNode *P=head->next;
	while(P&&p->data!=key)
	{
		p=p->next;
	}
	return p;//若p=NULL,则查找失败,否则p指向值为key的结点
}

2、顺序表的折半查找

int BinSearch1(int r[],int n,int k)//非递归
    {
        int low=1,high=n;//设置查找区间
        while(low<=high)//如果区间存在
        {
            int mid=(low+high)/2;
            if(kr[mid])low=mid+1;
            else return mid;
        }
        return 0;//如果区间不存在,则返回0,查找失败
    
    }
    int BinSearch2(int r[],int low,int high,int k)//递归
    {
        int mid=(low+high)/2;
        if(low>high) return 0;
        else
        {
             if(kr[mid])BinSearch2(r,mid+1,high,k);
             else return mid;
        }
    
    }

你可能感兴趣的:(数据结构,链表)