C語言之折半查詢
//折半查詢 #include "stdio.h" int find(int num,int arr[]) { int xiabiao=-1; int low=0; int high=8; int mid=(low+high)/2; while(low<=high) { if(num==arr[mid]) { xiabiao=mid; break; } else if(num>arr[mid]) low=mid+1; else high=mid-1; mid=(low+high)/2; } if(xiabiao==-1) { printf("沒有這個數字"); } else printf("有這個數字的並且這個數字的下標為%d\n",xiabiao); } int main() { int arr[9]={1,25,36,21,41,47,58,96,36}; find(41,arr); return 0; }
相關推薦
C語言之折半查詢
//折半查詢 #include "stdio.h" int find(int num,int arr[]) { int xiabiao=-1; int low=0; int high=8; int mid=(low+high)/2; while(low<=high)
【c語言】折半查詢演算法
折半查詢 又稱為二分查詢,優點是比較次數少,查詢速度快,平均效能好,佔用系統記憶體較少;其缺點是要求待查表為有序表,且插入刪除困難。因此,折半查詢方法適用於不經常變動而查詢頻繁的有序列表。首先,假設表中元素是按升序排列,將表中間位置記錄的關鍵字與查詢關鍵字比較,
【c語言】折半查詢
折半查詢 程式設計思路:折半排序 就是將一個有序的陣列,輸入一個數,找這個數所對應的下標位置、 折半聽上去就是說一半一半,對。就是這個樣子,折半就是將元素的最小下標賦值給一個low 最大下標賦值給high 在定義一個mid變數,mid變
C語言實現折半查詢演算法
折半查詢演算法 將數列按有序化排列,查詢過程中按跳躍方式查詢。即先以有序數列的中間位置為比較物件,如果要查詢的元素值小於該中點元素值,則將待查詢序列縮小為左半部分,否則為右半部分。通過一次比較,將查詢區間縮小一半。 int fun(int a[], int m ) {
C語言實現折半查詢(二分查詢)的演算法
編寫一個程式exp9-2.cpp,輸出在順序表(1,2,3,4,5,6,7,8,9,10)中採用折半查詢方法查詢關鍵字9的過程。 //檔名:exp9-2.cpp #include <stdio.h> #define MAXL 100 //定義表中最多記錄
C語言之數組
分時 一維數組 分布 效率 常量指針 指針 div pre 數組指針 六、數組: 6.1、大部分時間:數組名 == 常量指針。 6.2、 int array[10] = {1,2,3,4,5}; int *parray = array; //數組的首元素地址 int *p
C語言之使用vi編寫C語言
wal shell命令 art return 當前 更多 std 編譯 常用 1. 首先進入shell命令界面,輸入: "vi hello.c" 就進入了vi編輯界面,鍵入i進入編輯狀態。可輸入程序如下: #include <stdio.h&g
C語言之如何讓vim編輯器永久顯示行號
語言 打開 默認 linux環境 linu 顯示 命令行模式 c語言 mrc 在Linux環境下的編輯器有vi、vim、gedit等等。 進入這些編輯器之後,為了方便我們需要編輯器顯示出當前的行號,可偏偏編輯器默認是不會顯示行號的。 我們有二種辦法可以解決: 第一
C語言之運算符和條件結構
比較運算 第三名 user 石頭 年齡 pan 註意 break -1 表達式:是有操作數和運算符組成的。 操作數:常量、變量、子表達式 X=(x+2)*(y-2); 運算符: 賦值運算符:= 。其作用是做賦值運算,將等號後邊的值賦值給等號前邊的。 復合賦值運算符: +=
C語言之循環結構
style 次數 猜數遊戲 菱形 死循環 do..while *** || 初始 程序結構: 順序結構 條件結構(分支結構) if結構,if…else結構 ,多重if分支結構,switch結構 循環結構:做重復的事情 while循環,do..while循環和for循
C語言之變量和數據類型
更改 地址 輸入 name style span 控制臺 標示 otto 常量:程序在運行過程中無法對值進行更改。 變量:是在計算機內存空間一種表示,聲明變量將會向計算機內存申請存儲空間,用於保存數據,計算機的CPU會從內存中加載數據。 聲明變量: 數據類型 變量名[=值
C語言之文件操作07——讀取文件數據並計算均值方差標準差
取出 學生 stdio.h fscanf track white data .net += //文件 /* =============================================================== 題目:從文本文件"high.txt
C 語言之結構體
ons nbsp span clas %d str style ret [] 1 #include <stdio.h> 2 3 #include <struct.h> 4 5 #include <string.h>
C語言之文件操作06——寫數據到文本文件遇0停止
語言 text null white ont .net main fopen scan //文件 /* =============================================================== 題目:輸入10個籃球運動員的
C語言之基本算法38—格式化輸出10000以內的全部完數
() 下一個 nbsp define -a mod 保存 基本算法 -m //窮舉法! /* ================================================================== 題目:求10000以內的全部完數
C語言之歸並排序
ack trac for pos 語言 font tex 合並 %d 即將兩個都升序(或降序)排列的數據序列合並成一個仍按原序排列的序列。 上代碼: #include <stdio.h> #include <stdlib.h> #defin
C語言之冒泡排序
最大 fine 編程思路 watermark 冒泡 iss style ack return 如果要對含有n個數的序列進行升序排列,冒泡排序算法步驟是: 1、從存放序列的數組中的第一個元素開始到最後一個元素。依次對相鄰兩數進行比較,若前者大後者小,則交換兩數的位置
C語言之動態分配內存
第一個元素 sprint 擴大 for 可選 key 。。 css text 1. malloc()函數和free()函數 首先,我們應該知道。所有的程序都必須留出足夠的內存空間來存儲所使用的數據,所以我們常常會預先給程序開辟好內存空間,然後進行操作,
【精】C語言之變量存儲類型
art 技術分享 .net ont alt enter fill img 分享 【精】C語言之變量存儲類型
C語言之基本算法11—牛頓叠代法求平方根
flag mat tracking math () objc include data- 語言 //叠代法 /* ================================================================== 題目:牛頓叠代法求