zoukankan      html  css  js  c++  java
  • 每周学习日志(七)

    编写一个函数,利用折半查找算法在一个有序表中插入一个元素,并保持表的有序性。

    例如,在一个有序表{1,3,5,7,9}中,查找元素5,因为元素存在,则有序表不变;若查找元素6,则该有序表成为{1,3,5,6,7,9}。

    头文件

    #include <stdio.h>
    

    过程函数BinSrch

    int BinSrch(int a[], int n, int k)
    {
        int low,high,mid;
    	low=1;
    	high=n;
    	while(low<=high)
    	{
    		mid=(low+high)/2;
    		if(k==a[mid])
    		{
    			printf("it has already been in the a
    ");
    			return 0;
    		}
    		else if(k<a[mid])
    			high=mid-1;
    		else
    			low=mid+1;
    	}//不存在 执行下面程序 说明已找到插入点
    	for(int i=n;i>=low;i--)//后移
    		a[i+1]=a[i];
    		a[low]=k;//插入
    	return 1;
    }
    

    主函数main

    void main()
    {
        int a[7]={0,1,3,5,7,9};
    	int r=BinSrch(a,5,6);
    	int i;
    	if(r=0)
    	for(i=1;i<=5;i++)
    		printf("%d",a[i]);
    	else
    	for(i=1;i<=6;i++)
    		printf("%d",a[i]);
    	printf("
    ");
    }
    
  • 相关阅读:
    *args, **kwargs
    python format函数
    python自省
    生成器与迭代器
    python面试题
    xpath和gzip
    python正则表达式
    cookie
    random
    杭电1710 (已知二叉树前中序 求后序)
  • 原文地址:https://www.cnblogs.com/wananouo/p/13073555.html
Copyright © 2011-2022 走看看