程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 應用遞歸完成數組乞降示例分享

應用遞歸完成數組乞降示例分享

編輯:C#入門知識

應用遞歸完成數組乞降示例分享。本站提示廣大學習愛好者:(應用遞歸完成數組乞降示例分享)文章只能為提供參考,不一定能成為您想要的結果。以下是應用遞歸完成數組乞降示例分享正文


思緒以下:

給定一個含有n個元素的整型數組a,求a中一切元素的和。成績的難點在於若何應用遞歸上。假如應用遞歸,則須要斟酌若何停止遞歸履行的開端和終止前提,起首假如數組元素個數為0,那末和為0。同時,假如數組元素個數為n,那末先求出前n-1個元素之和,再加上a[n-1]便可。此時可以完成遞歸功效。總之,遞歸就是在某個函數的履行進程中起首斷定它的終止前提參數,終止前提參數知足終止前提則履行終了,終止前提參數不知足終止前提則挪用它本身履行某項運算,好比這裡乞降就是履行加法。但凡遞歸必定都有一個參數作為終止前提,好比這裡是數組中未參加乞降隊列的元素個數,初始為數組長度。由於終止前提參數的初始值為數組長度,所以從數組的最初一個元素作為乞降隊列的第一個元素開端,每遞歸一次就將數組中的一個元素劃歸到乞降隊列中,同時將終止前提參數減1,直到其未為0,標明一切元素都已參加乞降隊列,前往乞降隊列的值便可。可見遞歸至多有兩個參數,終止前提參數和遞歸對象。

代碼以下:


// 1311.cpp : 界說掌握台運用法式的進口點。
#include "stdafx.h"
#include<stdio.h>
int GetSum(int *a,int n)
{
    return n == 0 ? 0 : GetSum(a,n - 1) + a[n-1];
}
int main()
{
    int a[] = { 3, 6, 8, 2, 1 };
    int length = sizeof(a) / sizeof(a[0]);
    printf("%d\n", GetSum(a, length));
    getchar();
    return 0;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved