溫馨提示×

C語言中使用遞歸實現(xiàn)數(shù)據(jù)逆序排列

小樊
95
2024-08-27 04:50:12
欄目: 編程語言

在C語言中,你可以使用遞歸來實現(xiàn)數(shù)據(jù)逆序排列。以下是一個簡單的示例,展示了如何使用遞歸實現(xiàn)整數(shù)數(shù)組的逆序排列:

#include<stdio.h>

void reverse(int arr[], int start, int end) {
    if (start >= end) {
        return;
    }

    // 交換首尾元素
    int temp = arr[start];
    arr[start] = arr[end];
    arr[end] = temp;

    // 遞歸處理剩余子數(shù)組
    reverse(arr, start + 1, end - 1);
}

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int n = sizeof(arr) / sizeof(arr[0]);

    printf("原始數(shù)組:\n");
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    reverse(arr, 0, n - 1);

    printf("逆序排列后的數(shù)組:\n");
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    return 0;
}

在這個示例中,我們定義了一個名為reverse的函數(shù),它接受一個整數(shù)數(shù)組、起始索引和結束索引作為參數(shù)。我們首先檢查起始索引是否大于等于結束索引,如果是,則返回。然后,我們交換起始索引和結束索引處的元素,并遞歸地處理剩余的子數(shù)組。

main函數(shù)中,我們創(chuàng)建了一個整數(shù)數(shù)組,并調(diào)用reverse函數(shù)對其進行逆序排列。最后,我們打印原始數(shù)組和逆序排列后的數(shù)組。

0