91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C語言怎么利用棧來實現數組的逆序

小億
83
2024-05-27 09:48:10
欄目: 編程語言

可以利用棧來實現數組的逆序操作,具體步驟如下:

  1. 首先定義一個棧結構,包括棧頂指針和棧的容量。
  2. 將數組的元素依次壓入棧中。
  3. 然后依次從棧中彈出元素,并將其放入數組中,即實現了數組的逆序操作。

以下是一個示例代碼:

#include <stdio.h>
#include <stdlib.h>

#define MAX_SIZE 100

typedef struct {
    int top;
    int capacity;
    int *array;
} Stack;

Stack* createStack(int size) {
    Stack *stack = (Stack*)malloc(sizeof(Stack));
    stack->top = -1;
    stack->capacity = size;
    stack->array = (int*)malloc(sizeof(int) * size);
    return stack;
}

void push(Stack *stack, int data) {
    stack->array[++stack->top] = data;
}

int pop(Stack *stack) {
    return stack->array[stack->top--];
}

void reverseArray(int arr[], int size) {
    Stack *stack = createStack(size);

    for (int i = 0; i < size; i++) {
        push(stack, arr[i]);
    }

    for (int i = 0; i < size; i++) {
        arr[i] = pop(stack);
    }

    free(stack->array);
    free(stack);
}

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

    reverseArray(arr, size);

    for (int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }

    return 0;
}

以上代碼通過利用棧實現了數組的逆序操作,輸出結果為:5 4 3 2 1。

0
天峻县| 尤溪县| 新宁县| 松阳县| 连平县| 上蔡县| 玉环县| 黄山市| 扎鲁特旗| 延川县| 慈利县| 花莲县| 铅山县| 桓仁| 鸡西市| 高台县| 搜索| 临泉县| 西平县| 达州市| 武定县| 七台河市| 芦溪县| 汉川市| 祁东县| 文登市| 浦北县| 泰兴市| 运城市| 根河市| 综艺| 富源县| 剑阁县| 襄城县| 土默特右旗| 曲松县| 登封市| 镇远县| 黔南| 桓台县| 邻水|