日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

01-复杂度3 二分查找

發布時間:2025/4/16 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 01-复杂度3 二分查找 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  這道題是一道函數題,題目給好相應接口讓完成該子函數。給定的函數接口和結構體定義如下:

#include <stdio.h> #include <stdlib.h>#define MAXSIZE 10 #define NotFound 0 typedef int ElementType;typedef int Position; typedef struct LNode *List; struct LNode {ElementType Data[MAXSIZE];Position Last; /* 保存線性表中最后一個元素的位置 */ };Position BinarySearch( List L, ElementType X );

  可以看出是要完成對用鏈表存儲的一個線性表進行二分查找,完成程序如下:

Position BinarySearch(List L, ElementType X) {Position Left, Right, Mid;Left = 1;Right = L->Last;while(Left <= Right){Mid = (Left + Right) / 2;if(X > L->Data[Mid])Left = Mid + 1;else if(X < L->Data[Mid])Right = Mid - 1;else return Mid;}return NotFound; }

  需要注意的一點是while循環條件需是Left <= Right,否則兩者指同一個數時會不進入循環判斷就直接認為“NotFound”,導致結果不正確。

轉載于:https://www.cnblogs.com/biankun/p/8541148.html

總結

以上是生活随笔為你收集整理的01-复杂度3 二分查找的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。