⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 折半查找和插值查找.txt

📁 折半查找和插值查找
💻 TXT
字号:
#include <stdio.h>
 int sqlList[20] = {5, 9, 13, 17, 22, 31, 47, 68, 71};

 int biSearch(int sqlList[], int num, int element) {
  int from = 0;
  int to   = num-1;
  while(from <= to) {
   int mid = (from + to) >> 1;
   if(sqlList[mid] == element)
    return mid;
   if(sqlList[mid] > element)
    to = mid - 1;
   else
    from = mid + 1;
  }
  return -1;
 }
 int insertValueSearch(int sqlList[], int num, int element) {
  int from = 0;
  int to   = num-1;
  while(from <= to) {
   int mid = (int)(from + (element - sqlList[from])
   /(sqlList[to] - sqlList[from]) * (to - from) + 0.5);
   if(sqlList[mid] == element)
    return mid;
   if(sqlList[mid] > element)
    to = mid - 1;
   else
    from = mid + 1;
  }
  return -1;
 }

 void insert(int sqlList[], int num, int element) {
  int from = 0;
  int to   = num-1;
  while(from <= to) {
   int mid = (from + to) >> 1;
   if(sqlList[mid] > element)
    to = mid-1;
   else
    from = mid+1;
  }
  for(to = num; to > from; to--)
   sqlList[to] = sqlList[to-1];
  sqlList[from] = element;
 }
 void main() {
  printf("\n\n\t\t%d\n", biSearch(sqlList, 9, 22));
  printf("\n\n\t\t%d\n", insertValueSearch(sqlList, 9, 22));
  insert(sqlList, 9, 15);
  printf("\n\n\t\t%d\n", biSearch(sqlList, 10, 15));
 }



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -