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

📄 折半查找.cpp

📁 关于对顺序链表的折半查找功能的实现等等
💻 CPP
字号:
#include <stdio.h>
#include <malloc.h>
#include <math.h>
#include <iostream.h>

int bub[8];

typedef  struct  LNode {
      int   data;  // 数据域
      int   length;
      struct  LNode   *next;  // 指针域
} LNode, *LinkList;

void CreateList_L(LinkList &L, int n) {
    // 输入 n 个数据元素,建立带头结点的单链表
	struct LNode *p;
	L =(LinkList) malloc(sizeof(LNode));  
	L->next = NULL; //建立带头结点的单链表
	for (int i = 0; i < n; i++) {
		p = (LinkList) malloc(sizeof(LNode));
		printf("请输入数据%d\n",i);
		scanf("%d",&p->data);    // 输入元素值
		p->next = L->next;  
		L->next = p;  // 插入
		bub[i] = p->data;
	}//for
	
} // CreateList_L

void Search_Bin ( LinkList &L, int kval ) {

   int low = 1; 
   int high = 7;     // 置区间初值
   while (low <= high) {
     int mid = (low + high) / 2;
	 if (kval == bub[mid]){

          printf("\n找到待查元素\n"); 
		  printf("该元素为:%d\n",kval); break;   // 找到待查元素


	 }
      else  if ( kval < bub[mid] )
        high = mid - 1;       // 继续在前半区间进行查找
      else  low = mid + 1; // 继续在后半区间进行查找
   }	
                    // 顺序表中不存在待查元素
} // Search_Bin


void main(){

	LinkList L;
	CreateList_L(L,8);
	Search_Bin(L,21);
	Search_Bin(L,28);

}

⌨️ 快捷键说明

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