C/C++笔记(二) 2015/8/15


VS2013中 栈的内存区域只有默认的1M   //修改:项目设置->属性->链接器->系统
先进后出

静态区与程序共存,内存不会被会后利用,除非程序消亡
堆区,块语句执行完成亡

static

限制只能被当前的源文件所引用

插值查找法

int  serch2(double *p, int n, int key)
{
    int tou, wei, zhong;
    tou = 0;
    wei = n - 1;
    while (tou <= wei)
    {
        //zhong = (tou + wei) / 2;      //折半查找
        zhong = tou + (wei - tou)*(key - p[tou]) / (p[wei] - p[tou]);   //插值查找

        if (p[zhong] == key)
            return zhong;
        else if (key > p[zhong])
            tou = zhong + 1;
        else
            wei = zhong - 1;
    }
    return -1;
}

zhong = tou + (wei - tou)*(key - p[tou]) / (p[wei] - p[tou]); //插值查找的公式
(wei - tou) 就一共有多少个元素
(key - p[tou]) / (p[wei] - p[tou]) //确定比例

二分查找也可以是
zhong = (wei + tou)*1/2 = tou + (wei-tou)*1/2 //可以看做是插值查找的一个固定形式,比例固定为1/2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值