最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言實(shí)現(xiàn)分治法實(shí)例

 更新時(shí)間:2018年08月16日 09:50:29   作者:我站在橋上看風(fēng)景  
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)分治法的實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文為大家分享了C語言實(shí)現(xiàn)分治法實(shí)例代碼,供大家參考,具體內(nèi)容如下

使用分治法求最大值

這個(gè)函數(shù)將數(shù)組a[l]...a[r]分成a[l],...,a[m]和a[m+1],...a[r]兩部分,分別求出每一部分的最大元素(遞歸地),并返回較大的那一個(gè)作為整個(gè)數(shù)組的最大元素.如果數(shù)組大小是偶數(shù),則兩部分大小相等;如果是奇數(shù),第一部分比第二部分的大小大1.

#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <malloc.h>
using namespace std;
#define OK 1
#define ERROR -1
#define TRUE 1
#define FALSE 0
typedef int Status;
 
int Max(int a[], int l, int r)
{
  int u, v, m = (l + r) / 2;
  //當(dāng)區(qū)間中只有一個(gè)元素,遞歸終止,并將該元素返回
  if(l == r)
    return a[l];
  //遞歸原區(qū)域的左邊
  u = Max(a, l, m);
  //遞歸原區(qū)域的右邊
  v = Max(a, m+1, r);
  //返回最大值
  return (u>v)?u:v;
}
int main()
{
  //舉例驗(yàn)證
  int a[7] = {6, 5, 3, 4, 7, 2, 1};
  int maxx = Max(a, 0, 6);
  printf("%d\n", maxx);
  return 0;
}

漢諾塔的解

我們把盤子(遞歸地)移動(dòng)到c上的方案是,將除了最下面的盤子之外的所有盤子移到b上,然后將做下面的盤子移到c上,然后(遞歸地)再將其他盤子移回到最下面的盤子上面.

#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <malloc.h>
using namespace std;
#define OK 1
#define ERROR -1
#define TRUE 1
#define FALSE 0
typedef int Status;
//輸出盤子的移動(dòng)
void shift(int n, char x, char y)
{
  printf("Move %d disk: %c ---------> %c\n", n, x, y);
}
void hanoi(int n, char a, char b, char c)
{
  //遞歸終止的條件
  if(n == 1)
  {
    //將a上最下面的盤子移到c上
    shift(n, a, c);
    return;
  }
  //以c為中間軸,將a上的盤子移動(dòng)到b上
  hanoi(n-1, a, c, b);
  shift(n, a, c);
  //以a為中間軸,將b上的盤子移動(dòng)到c上
  hanoi(n-1, b, a, c);
}
int main()
{
  //舉例驗(yàn)證
  hanoi(4, 'a', 'b', 'c');
  return 0;
}

使用分治法在尺子上畫刻度

要在尺子上畫刻度線,我們首先在左半邊畫刻度線,然后在中間畫一條最長(zhǎng)的刻度線,最后在右半邊畫刻度線.

#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <malloc.h>
using namespace std;
#define OK 1
#define ERROR -1
#define TRUE 1
#define FALSE 0
typedef int Status;
//畫線
void mark(int m, int h)
{
  //由于無法實(shí)際表示刻度線之間的高度差,故用實(shí)際數(shù)字來體現(xiàn)
  printf("%d ", h);
}
//劃分該區(qū)域內(nèi)的刻度
void rule(int l, int r, int h)
{
  //找到該區(qū)域的中間
  int m = (l + r) / 2;
  //當(dāng)高度大于0
  if(h)
  {
    //劃分小區(qū)域
    rule(l, m, h-1);
    //畫線
    mark(m, h);
    //劃分小區(qū)域
    rule(m+1, r, h-1);
  }
}
int main()
{
  //舉例驗(yàn)證
  rule(0, 14, 4);
  return 0;
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。 

相關(guān)文章

  • C++名稱空間特性

    C++名稱空間特性

    這篇文章主要介紹了C++名稱空間特性,文章圍繞C++名稱空間特性的相關(guān)資料展開詳細(xì)內(nèi)容,需要的小伙伴可以參考一下下文具體內(nèi)容,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-01-01
  • MFC控件之CListCtrl的應(yīng)用實(shí)例教程

    MFC控件之CListCtrl的應(yīng)用實(shí)例教程

    這篇文章主要介紹了MFC控件中CListCtrl的應(yīng)用方法,包括了針對(duì)表格的一些操作,是MFC中比較重要的一個(gè)控件類,需要的朋友可以參考下
    2014-08-08
  • Qt實(shí)現(xiàn)生成指定范圍內(nèi)隨機(jī)數(shù)與隨機(jī)字符串

    Qt實(shí)現(xiàn)生成指定范圍內(nèi)隨機(jī)數(shù)與隨機(jī)字符串

    這篇文章主要為大家詳細(xì)介紹了如何利用Qt實(shí)現(xiàn)生成指定范圍內(nèi)隨機(jī)數(shù)與隨機(jī)字符串,文中的示例代碼簡(jiǎn)潔易懂,感興趣的小伙伴可以自己動(dòng)手嘗試一下
    2023-07-07
  • C語言 用while循環(huán)求和的平均值操作

    C語言 用while循環(huán)求和的平均值操作

    這篇文章主要介紹了C語言 用while循環(huán)求和的平均值操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • C語言 完整游戲項(xiàng)目坦克大戰(zhàn)詳細(xì)代碼

    C語言 完整游戲項(xiàng)目坦克大戰(zhàn)詳細(xì)代碼

    《坦克大戰(zhàn)》以二戰(zhàn)坦克為題材,既保留了射擊類游戲的操作性,也改進(jìn)了射擊類游戲太過于復(fù)雜難玩的高門檻特點(diǎn),集休閑與競(jìng)技于一身。經(jīng)典再度襲來,流暢的畫面,瘋狂的戰(zhàn)斗,讓玩家再次進(jìn)入瘋狂坦克的世界。玩家的目標(biāo)是控制坦克躲避危險(xiǎn),消滅掉所有的敵人即可進(jìn)入下一關(guān)
    2021-11-11
  • C語言編程計(jì)算信噪比SNR理解學(xué)習(xí)

    C語言編程計(jì)算信噪比SNR理解學(xué)習(xí)

    這篇文章主要介紹了C語言編程信噪比SNR計(jì)算的理解學(xué)習(xí),信噪比,英文名稱叫做SNR或S/N(SIGNAL-NOISE RATIO)。是指一個(gè)電子設(shè)備或者電子系統(tǒng)中信號(hào)與噪聲的比例
    2021-10-10
  • C語言之函數(shù)返回值與參數(shù)傳遞案例教程

    C語言之函數(shù)返回值與參數(shù)傳遞案例教程

    這篇文章主要介紹了C語言之函數(shù)返回值與參數(shù)傳遞案例教程,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • win10環(huán)境下C++ vs2015編譯opencv249的教程

    win10環(huán)境下C++ vs2015編譯opencv249的教程

    這篇文章主要介紹了win10環(huán)境下C++ vs2015編譯opencv249的教程,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • c++程序字符型的實(shí)例講解

    c++程序字符型的實(shí)例講解

    在本篇文章里小編給大家整理的是一篇關(guān)于
    2020-02-02
  • C語言實(shí)現(xiàn)2048小游戲

    C語言實(shí)現(xiàn)2048小游戲

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)2048小游戲,注釋清晰,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05

最新評(píng)論

栖霞市| 阿拉善左旗| 宁陕县| 尚志市| 临夏市| 三门峡市| 横峰县| 廊坊市| 南雄市| 中江县| 朝阳市| 溆浦县| 金乡县| 阿合奇县| 句容市| 红河县| 云阳县| 宣恩县| 筠连县| 宝坻区| 江西省| 鸡泽县| 新兴县| 株洲市| 江门市| 沁源县| 阜城县| 潮安县| 彭山县| 长宁区| 晋宁县| 海南省| 洛扎县| 福州市| 大关县| 新竹市| 营山县| 榆中县| 特克斯县| 潼南县| 汽车|