国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C語言實現(xiàn)兩個遞減數(shù)列中尋找某一個數(shù)

2020-01-26 15:18:23
字體:
供稿:網(wǎng)友

本文實例講述了C語言實現(xiàn)兩個遞減數(shù)列中尋找某一個數(shù)的方法,分享給大家供大家參考之用。具體方法如下:

通常來說這道題算二分查找法中非常有難度的一題了。

題目如下:

一個數(shù)組是由一個遞減數(shù)列左移若干位形成,比如{4, 3, 2, 1, 6, 5}是由{6, 5, 4, 3, 2, 1}左移兩位,在這種數(shù)組中查找某一個數(shù)。

實現(xiàn)代碼如下:

int array[] = {4, 3, 2, 1, 6, 5};const int size = sizeof array / sizeof *array;int findMinNumber(int (&array)[size], int start, int last, int dest){ int mid = (last - start) / 2 + start; int result; if(start > last) { return -1; } if(array[mid] == dest) { result = mid; return result; }  if(array[mid] <= array[start]) { if(dest > array[mid] && dest <= array[start]) { last = mid - 1; result = findMinNumber(array, start, last, dest); } else { start = mid + 1; result = findMinNumber(array, start, last, dest); } } else if(array[mid] > array[start]) { if(dest < array[mid] && dest >= array[last]) { start = mid + 1; result = findMinNumber(array, start, last, dest); } else { last = mid - 1; result = findMinNumber(array, start, last, dest); } } return result;}

程序運行結(jié)果如下圖所示:

希望本文所述對大家C程序算法設(shè)計的學(xué)習(xí)有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 额敏县| 濉溪县| 天全县| 普格县| 平远县| 江阴市| 科尔| 无为县| 孟村| 丹江口市| 土默特左旗| 阜南县| 武平县| 昌图县| 商都县| 张家口市| 伊宁县| 安图县| 南华县| 长沙市| 龙口市| 托克逊县| 武城县| 宜良县| 望都县| 石家庄市| 合肥市| 咸丰县| 肥西县| 英超| 刚察县| 陇南市| 乐昌市| 广东省| 房产| 肇庆市| 德州市| 阳信县| 宜丰县| 吴桥县| 渭南市|