就是數組中資料要麼是這個, 要麼是那個.不錯的思想,貌似簡單,其實不學不可能會.
我覺得寫遊戲的時候會派上用場.例如,兩個幫派群P,之後分組.你說呢?呵呵.
/*7-31-11-26-22.22.c -- 第七章第三十一題*/<br />#include <stdio.h></p><p>#define SIZE 21<br />#define FALSE 0<br />#define TRUE 2</p><p>int main (void) ;<br />void print_array (const int * const array, const int size) ;<br />void swap (int * const vala, int * const valb) ;</p><p>int main (void)<br />{<br />const int MAYBE = 1 ;<br />int array[SIZE] = {FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE} ;<br />int size = SIZE, i = 0, j = size - 1, index, dummy ;</p><p>print_array (array, size) ;<br />index = (size - 1) / 2 ;<br />dummy = MAYBE ;<br />swap (array + index, &dummy) ;<br />while (1)<br />{<br />while (FALSE == array[i])<br />i++ ;<br />while (TRUE == array[j])<br />j-- ;<br />if (i < j)<br />swap (array + i, array + j) ;<br />else<br />break ;<br />}<br />swap (array + i, &dummy) ;<br />print_array (array, size) ;</p><p>return 0 ;<br />}</p><p>void print_array (const int * const array, const int size)<br />{<br />int i ; </p><p>for (i = 0; i < size; i++)<br />printf ("%s/n", FALSE == array[i] ? "FALSE" : "TRUE") ;<br />putchar ('/n') ;<br />}</p><p>void swap (int * const vala, int * const valb)<br />{<br />int temp ;</p><p>temp = *vala ;<br />*vala = *valb ;<br />*valb = temp ;<br />}