二分法從有序數列中查詢資料
int main()
{
int x = 1;
int a[10];
int s = 0, i = 0, mid = 0, b = 0;
start:
printf("請輸入一個有序陣列10個數(從小到大):");
s = sizeof(a)/sizeof(a[0]);
for(i=0; i<s; i++)
{
scanf("%d",&a[i]);
}
for(i=0; i<s-1; i++)
{
if(a[i]>a[i+1])
{
printf("不是一個有序的陣列,請重新輸入:");
goto start;
}
}
printf("請輸入想要查詢的數:");
scanf("%d",&b);
int left = 0, right = i-1;
mid = (left+right)/2;
if(a[mid]>b)
{
right = mid;
}
if(a[mid]<b)
{
left = mid;
}
if(a[mid] == b)
{
printf("找到了:%d\n",a[mid-1]);
}
else
{
printf("找不到:-1\n.");
}
return 0;
}
相關推薦
二分法從有序數列中查詢資料
#include "stdio.h"int main(){ int x = 1; int a[10]; int s = 0, i = 0, mid = 0, b = 0;start: printf("請輸入一個有序陣列10個數(從小到大):"); s = sizeof(a
C語言二分法查找數列中指定數字
進入 簡單 vmw 結果 div pre 查看 fin span 在公茂果老師的課件中,出現的好多具體的算法例子,這裏,跟蹤給出,二分法查找的指定數字的代碼: 實現環境:VMware下的Ubuntu 17.4 編譯環境:自帶編譯器。 下面給出Ubuntu下,編譯環境的操
ORACLE SQL: 從一個表中查詢資料插入另一個表中
insert into expertinfo (expertid,expertname,expertcode,sex,enabled) select primarykey as expertid, name as expertname,
程式碼實現從某個表中查詢資料插入到另一個表中
前提條件&產生問題原因: 1、由於資料量比較大,又沒有使用hadoop等方式處理資料。所以使用分表的形式。分表的看另一篇文章。 2、然後,需求變了,臥槽~~~需求又變了!!!不用分表了,需要把所有的分表資料,插入到一張表中。當然,這所有表的欄位要求一致。 ///稍
資料結構——陣列(2)在有序數列中二分查詢
二分查詢的前提要求陣列有序, 查詢思想:每次將待查詢元素k和陣列中間位置mid元素對比,若相等,則查詢成功;若mid元素小於k,則k在陣列後半部分;若mid元素大於k,則在陣列前半部分。然後繼續以此方法搜尋。 實現方法包括:非遞迴法、遞迴法。 #inclu
Python使用二分法實現在一個有序列表中查詢指定的元素
回想這個面試題:Python在一個有序列表中查詢指定的元素? 一開始沒想到使用二分法查詢,直接說了遍歷這個列表與指定元素比較。 二分法是一種快速查詢的方法,時間複雜度低,邏輯簡單易懂,總的來說就是不斷的除以2除以2… 例如需要查詢有序list裡面的某個關鍵字key的位置,那
用二分查詢法在一維有序陣列中查詢某個值並輸出其下標值
關鍵字與左右標的大小比較 #include<stdio.h> int main() { int arr[] = { 0, 1, 2, 3, 4, 6, 7, 9 }; int left = 0; int right = s
如何從mysql資料庫中查詢指定欄位且符合條件的資料 ,然後拼接成json字串,最後匯出json檔案
SELECT CONCAT("{'name':'",IFNULL(Name,''),"',","'sex':'",IFNULL(Sex,''),"',","'age':'",IFNULL(Age,''),"',", "'phone':'",IFNULL(Phon
二分查詢(在整型有序陣列中查詢想要的數字,找到了返回下標,找不到返回
在整型有序陣列中查詢想要的數字,找到了返回下標,找不到返回 - 1#include<stdio.h> #include<Windows.h> int binary_search(int arr[]
oracle中從4個表查詢資料並插入到另一張表裡 擴充套件到查詢到的資料和其他資料共同插入
因為業務的需要,現在需要查詢4個表裡的資料並插入到另一個表內且對應自己想要對應的列。 且表的id應該是根據序列自動生成。 具體建立序列什麼的都不說了,直接上程式碼,欄位都沒改,最近太忙了。 insert into TB_POST_REQUIRE_INFO (id, BE
在有序的數列中查詢某數,若該數在此數列中,則輸出它所在的位置,否則輸出no found
#include<stdio.h> #define N 10 void main() { int a[N]; int num,i; char ch='n'; printf("Input an array:\n"); for(i=0;i<N;i++) scanf("
從一個集合中查詢最大最小的N個元素——Python heapq 堆資料結構
Top N問題在搜尋引擎、推薦系統領域應用很廣, 如果用我們較為常見的語言,如C、C++、Java等,程式碼量至少也得五行,但是用Python的話,只用一個函式就能搞定,只需引入heapq(堆佇列)這個資料結構即可。今天偶然看到這個庫,特意記下之。 先看一個例子: 複製
從資料庫中查詢資料並顯示到datagridview中的兩種方法
第一種方法:利用SqlDataAdapter的Fill()方法, 優點:可以不用考慮資料庫表中每一列的資料型別,將資料一次性匯入到表中; 缺點:不能在查詢過程中編輯查詢的資料 strin
在一個有序陣列中查詢具體的某個數字n
思路: 1.給定一個有序陣列(陣列元素排列有序,升序或者降序) 2.給定一個數字,查詢這個數字是否在陣列中,若存在則返回這個數字的下標 #include <stdio.h> #include <stdlib.h> int main() { int arr[] = {
編寫了一個自動從編碼log中提取資料的程式
筆者這半年來一直是自己手動將編碼後的資料一個一個敲到excel中的,真是笨的可以,今天終於下定決心寫個小程式。 首先感謝下面的博主: https://blog.csdn.net/sruru/article/details/7911675 告訴了我怎麼在main函式傳入引數 ht
在拼題做“一個數插入到有序數列中”
做插入陣列題目的時候,經過多次編譯修改執行,好不容易成功運行了,但是提交的時候還是顯示格式錯誤。我試著比對樣例和輸出,還是沒發現問題,就算試了好幾個樣例之外的例子,也是發現符合要求的。我就向同學求助,試著用別的編譯器VSC++,發現編譯出錯了,陣列溢位了,我改完之後,提交,居然還是,格式錯誤。很生氣,就抱著瞎
手把手教你如何用Python從PDF檔案中匯出資料(附連結)
有很多時候你會想用Python從PDF中提取資料,然後將其匯出成其他格式。不幸的是,並沒有多少Python包可以很好的執行這部分工作。在這篇貼子中,我們將探討多個不同的Python包,並學習如何從PDF中提取某些圖片。儘管在Python中沒有一個完整的解決方案,你還是應該能夠運用這裡的技能開始上手。
在hibernate中查詢資料的 session中get 和load的區別:
* 第一點.傳送SQL的時機: * load這個方法採用了一個技術.lazy延遲載入(懶載入).真正使用這個物件的資料的時候.(物件的資料不包括主鍵). * get這個方法是立即檢索.當執行session.get()方法的時候,馬上傳送SQL語句查詢. * 第二點.返回的物件:
寫程式碼可以在整型有序陣列中查詢想要的數字
使用二分法查詢會大大提高效率,不需用遍歷陣列中每一個元素的值 首先解釋二分法 假設要找的數字是5,從12個數中尋找,會先找12的一半6,判斷是大了,於是知道了要找的數字在左邊0——6之間,再取半得到3,是小了,於是在3—6之間再折半為4(為什麼是4,是因為三到六最中的數是4.5,
android從java端中取資料
簡介 1.1 HttpClient是Apache Jakarta Common下的子專案,用來提供高效的、最新的、 功能豐富的支援HTTP協議的客戶端程式設計工具包,並且它支援HTTP協議最新的版本和協議。 1.2 Android已成功集成了HttpClien