寻找插入位置
2016-09-09 13:17
267 查看
#include<stdio.h> int search(int a[],int n,int tar){ //二分查找 int low=0,high=n-1,mid; while(low<=high){ mid=(high+low)/2; if(a[mid]==tar) return mid; //返回元素位置 if(tar>a[mid]) low=mid+1; else high=mid-1; } if(low>high) return low; //若查不到,返回目标元素应在数组中的位置 } int main(){ int n,tar,i,ans; scanf("%d",&n); int *a; a=(int*)malloc(n*sizeof(int)); //一定在这里分配空间 for(i=0;i<n;i++){ scanf("%d",&a[i]); } scanf("%d",&tar); ans=search(a,n,tar); printf("%d",ans); return 0; }
开始的时候一直运行错误,最后发现要使用malloc给数组分配空间就不会报错。
相关文章推荐
- C/C++,数据结构单链表(采用C++"引用"方法)(寻找节点、在某处插入结点、删除某位置结点)
- 计蒜客挑战难题:寻找插入位置
- 寻找序列的插入位置 Search Insert Position
- python寻找插入位置
- 计蒜客 寻找插入位置
- 【计蒜客系列】挑战难题10:寻找插入位置
- [Leetcode] search insert position 寻找插入位置
- 寻找插入位置
- 第10题:寻找插入位置
- C/C++,数据结构单链表(采用C++&quot;引用&quot;方法)(寻找节点、在某处插入结点、删除某位置结点)
- 计蒜客 寻找插入位置 (二分查找)
- “回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。
- 计蒜客 第10题:寻找插入位置
- 小算法----寻找插入元素的位置
- Java - 计蒜客 - 寻找插入位置
- LeetCode-35:Search Insert Position(寻找或插入位置)
- 计蒜客 难题题库 010 寻找插入位置
- Leetcode35:Search Insert Position寻找target元素(应)插入的位置
- leetcode之数组类之数组的旋转与分治类-----OJ 189/33/81/153/154 数组旋转 旋转数组搜索 88 有序数组合并 4 两个有序数组寻找第K个元素/中位数 35 寻找插入位置
- 计蒜客 寻找插入位置(分治法)