|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> C /C + + -programmering >> Content

    Rekursiv funktion i C

    En sällan använda begrepp i C är funktionen rekursion . En rekursiv funktion är helt enkelt en funktion som anropar sig själv . Recursive funktioner kan vara användbara i vissa funktioner, men kan vanligtvis ersättas med hjälp av en slinga. Syfte med rekursiv funktion

    En rekursiv funktion kan användas när en operation måste utföras upprepade gånger på en uppsättning data . Till exempel kan en rekursiv funktion utför upprepade gånger en matematisk operation på ett numeriskt värde tills ett villkor är uppfyllt . Addera Skapa en rekursiv funktion


    Någon funktion som kallar sig är en rekursiv funktion . Det finns inga speciella krav på en funktion för att kalla sig , det kan göra så cait skulle kalla någon annan funktion . Som ett exempel , är följande en rekursiv funktion för att beräkna nästa nummer i en Fibonacci sekvens :

    långa fib ( long n ) katalog

    {

    if ( n < = 2 ) katalog

    {

    avkastning 1;

    }

    annat

    {

    retur fib ( n - 1 ) + fib ( n - 2 ) ,

    }

    }
    Problem med rekursion

    rekursion har flera möjliga problem som bör beaktas innan du skriver en rekursiv funktion . Rekursiva funktioner kan vara mycket ineffektivt , inte bara är det en bunt overhead från upprepat anropa funktionen , kan rekursiva funktioner lätt sluta med exponentiella gångtider beroende på hur de är skrivna . Rekursiva funktioner löper också en risk för att en stackspill om antalet rekursiva anrop är för hög.
    Rekursion Vs. Iteration

    Mest rekursiva funktioner kan implementeras som en icke- rekursiv funktion som använder en iterativ slinga. Detta tenderar att vara mer effektiva och säkrare , men i vissa fall kan vara svårare att skriva och läsa .

    Rekursiva funktioner används oftast när man navigerar en trädstruktur , eller när du använder iteration skulle göra fungera mycket mer komplex . I de flesta andra fall bör iteration användas istället .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur du ändrar en fyllnadsfaktor
    ·Hur man skapar en switch-sats i C
    ·Hur man beräknar Octal till Binary Konvertering
    ·Hur man gör en sträng till en array i C + +
    ·Så här konfigurerar Bytes att ta emot numeriska data …
    ·Hur Log Samtal till D3D
    ·Hur animera i XNA
    ·Konvertera CPP till DLL
    ·Hur till Redigera DataGrid Cell i Silverlight
    ·Hur att skapa projekt med C Programmering
    Utvalda artiklarna
    ·Implicit & Explicit funktioner Programmering
    ·Hur man använder ABS i Java
    ·VBA Object Obligatoriskt
    ·Javascript Partiella Funktioner
    ·Skillnader mellan Java 1.4 & Java 1.5
    ·Hur man läser en PC serienummer i Visual Basic
    ·Hur man skapar en Pixel Tracker i PHP
    ·Hur du skapar ditt eget installationsprogram
    ·Hur man skapar en Android App i Eclipse
    ·Hur Infoga eller Uppdatera MySQL
    Copyright © Dator Kunskap http://www.dator.xyz