天天看點

c++中打亂數組的順序輸出

c++中打亂數組的順序輸出,這裡記錄一下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

<code>#include &lt;stdio.h&gt;</code>

<code>#include &lt;stdlib.h&gt;</code>

<code>#include &lt;time.h&gt;</code>

<code>   </code> 

<code>// 随機打亂一個數組</code>

<code>void</code> <code>random(</code><code>int</code> <code>a[], </code><code>int</code> <code>n)</code>

<code>{</code>

<code>   </code><code>int</code> <code>index, tmp, i;</code>

<code>   </code><code>srand</code><code>(</code><code>time</code><code>(NULL));</code>

<code>   </code><code>for</code> <code>(i = 0; i &lt;n; i++)</code>

<code>    </code><code>{</code>

<code>       </code><code>index = </code><code>rand</code><code>() % (n - i) + i;</code>

<code>       </code><code>if</code> <code>(index != i)</code>

<code>         </code><code>{</code>

<code>            </code><code>tmp = a[i];</code>

<code>            </code><code>a[i] = a[index];</code>

<code>            </code><code>a[index] = tmp;</code>

<code>         </code><code>}</code>

<code>    </code><code>}</code>

<code> </code><code>}</code>

<code>int</code> <code>main()</code>

<code>   </code><code>int</code> <code>a[] = {1, 2, 3, 4, 5};</code>

<code>   </code><code>int</code> <code>i;</code>

<code>   </code><code>random(a, 5);</code>

<code>   </code><code>for</code> <code>(i = 0; i &lt; 5; i++)</code>

<code>   </code><code>printf</code><code>(</code><code>"%d "</code><code>, a[i]);</code>

<code>   </code><code>printf</code><code>(</code><code>"\n"</code><code>);</code>

<code>   </code><code>system</code><code>(</code><code>"pause"</code><code>);</code>

<code>   </code><code>return</code> <code>0;</code>

<code>}</code>

本文轉自xuzw13 51CTO部落格,原文連結:http://blog.51cto.com/xuzhiwei/1354579,如需轉載請自行聯系原作者

繼續閱讀