溫馨提示×

c語言怎么打亂數組順序

小億
368
2023-12-12 00:03:48
欄目: 編程語言

要打亂數組的順序,可以使用隨機數生成器來實現。具體步驟如下:

  1. 引入頭文件 #include <stdlib.h>#include <time.h>,其中 stdlib.h 包含了隨機數生成器函數,time.h 包含了獲取當前時間函數。

  2. 使用 srand() 函數來設置隨機數種子,通常使用當前時間作為種子,例如 srand(time(NULL));。

  3. 遍歷數組,將當前位置的元素與一個隨機位置的元素進行交換。交換的隨機位置可以使用 rand() 函數生成一個隨機數,用該隨機數與數組長度取模來獲得一個有效的隨機位置。

以下是一個例子:

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

// 打亂數組順序
void shuffle(int arr[], int size) {
    srand(time(NULL)); // 設置隨機數種子

    for (int i = 0; i < size; i++) {
        int j = rand() % size; // 生成一個隨機位置
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }
}

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

    shuffle(arr, size);

    printf("打亂后的數組:");
    for (int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    return 0;
}

運行以上代碼會輸出類似如下的結果:

打亂后的數組:3 2 1 5 4

這樣就實現了打亂數組順序的功能。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女