今天遇到一個(gè)問(wèn)題,在寫(xiě)主題板塊,共有21個(gè)主題類(lèi)別方塊,可以存放主題,但是主題數(shù)是<=21的,所以想盡量不讓空閑的板塊連續(xù),這樣看起來(lái)以至于板塊不那么空閑。
于是想先從奇數(shù)中挑選位置,然后再?gòu)呐紨?shù)位置挑選,這樣能使空閑板塊盡量不連續(xù)。
例如:如果有5個(gè)板塊,3個(gè)主題,那么在1,3,5的位置放入主題。

一個(gè)小Demo如下:
1: #include <stdio.h>
2:
3: int arrary[21] = {0,0,0}; 4:
5: int ChooseAnEmpty()
6: { 7: int j = 0;
8:
9: for(j=1;j<=21;j+=2)
10: { 11: if(arrary[j] == 0)
12: { 13: return j;
14: }
15: }
16:
17: printf("------\n"); 18:
19: for(j=2;j<=21;j+=2)
20: { 21: if(arrary[j] == 0)
22: { 23: return j;
24: }
25: }
26:
27: printf("is full\n"); 28: return -1;
29: }
30: int main()
31: { 32: int i,pos;
33:
34: for(i = 0; i<23; i++)
35: { 36: pos = ChooseAnEmpty();
37: if(pos == -1)
38: { 39: break;
40: }
41: printf("empty pos = %d\n",pos); 42: arrary[pos] = 1;
43: }
44: }