zoukankan      html  css  js  c++  java
  • 产生随机的排列

    产生随机的排列:

      permute()函数的功能是:打乱数组的顺序

      Random()函数的功能是:产生一个0 —> n-1的随机数

      swap()函数的功能是:交换数组里第i个和第j个元素的值

    //功能:产生随机的排列
    #include <stdio.h>
    #include
    <stdlib.h>
    //声明函数
    void permute(int array[], int n);
    int Random(int n);
    void swap(int A[], int i, int j);

    //Randomly permute the n values of array
    void permute(int array[], int n)
    {
    for (int i = n; i > 0; i--)
    {
    swap(array, i
    - 1, Random(i));
    }
    }

    //Return a random value in rang 0 to n-1
    int Random(int n)
    {
    return rand() % (n);
    }

    //swap two elements in a generic array
    void swap(int A[], int i, int j)
    {
    int temp = A[i];
    A[i]
    = A[j];
    A[j]
    = temp;
    }

    int main()
    {
    int a[10];
    int i;
    for (i = 0; i < 10; i++)
    {
    a[i]
    = Random(i+9);
    }
    permute(a,
    10);
    for (i = 0; i < 10; i++)
    {
    printf(
    "%d\t",a[i]);
    }
    return 1;
    }

    作者:涵曦www.hanxi.cc
    出处:hanxi.cnblogs.com
    GitHub:github.com/hanxi
    Email:im.hanxi@gmail.com
    文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

    《 Skynet 游戏服务器开发实战》

  • 相关阅读:
    架构设计-MVVM架构
    架构设计-DDD领域驱动设计模式
    架构设计-SOA面向服务架构
    架构设计-MVC
    函数
    冒泡排序
    乘法表和表格乘法表
    三元表达式
    一元运算符
    while 循环语法
  • 原文地址:https://www.cnblogs.com/hanxi/p/1994267.html
Copyright © 2011-2022 走看看