ÀàËÆµØ£¬Èç¹ûÎÒÃÇÒª´òÓ¡µÄÊÇXÐΣº
* *
* *
*
* *
* *
ͬÑù¿ÉÒÔÀûÓÃÕâ¸ö˼·Íê³É£¬ÕâÌâ¾Í×÷Ϊ˼¿¼Ìâ°É
3. ÆæÊý½×»Ã·½
Ëùν»Ã·½£¨×î»ù±¾µÄÄÇÖÖ£©£¬¾ÍÊǺᣬÊú£¬¶Ô½ÇÏßÉϵÄÊýµÄºÍµÈÓÚÒ»¸ö³£ÊýµÄÊý×Ö·½Õó
4 3 8
9 5 1
2 7 6
ÒÔÉÏÕâ¸öͼ£¬ÓÐʲô¹æÂÉ£¿ÈÝÒ×д³É´úÂëÂð£¿
ÎÒÃǰÑÕâ¸öͼ£¬ÏòÓÒ¸´ÖÆÎå´Î£¬Ïòϸ´ÖÆÈý´Î£¬Õ¹¿ªÒ»Ï£º
4 3 8 4 3 8 4 3 8 4 3 8 4 3 8
9 5 1 9 5 1 9 5 1 9 5 1 9 5 1
2 7 6 2 7 6 2 7 6 2 7 6 2 7 6
4 3 8 4 3 8 4 3 8 4 3 8 4 3 8
9 5 1 9 5 1 9 5 1 9 5 1 9 5 1
2 7 6 2 7 6 2 7 6 2 7 6 2 7 6
4 3 8 4 3 8 4 3 8 4 3 8 4 3 8
9 5 1 9 5 1 9 5 1 9 5 1 9 5 1
2 7 6 2 7 6 2 7 6 2 7 6 2 7 6
×¢ÒâÀ¶É«Êý×ÖµÄ×ßÏò
ÔõôÑù£¬ÏÖÔÚÄØ£¿
ÏÖÔÚ¿´ÆðÀ´ÏԵùæÂÉÐÔÇ¿Á˺ܶ࣬µ«ÊÇ£¬Äã»á²»»á¾õµÃÑ»·»¹ÊDz»Ì«ºÃд£¿
ÎÒÃÇÈçºÎ´ÓÒ»¸ö¸ø¶¨µÄn£¬Ö±½ÓµÃÖªËüµÄ×ø±êÄØ£¿
²»ÄÑ£¬ÕÒһϹæÂɾͿÉÒÔ·¢ÏÖ¶ÔÓÚÈÎÒâµÄÊýÖµn+1ÓУ¨ÒÔ×óÉϽÇΪ0,0×ø±ê£©£º
x = 2 + n + n / 3;
y = 1 + n - n / 3;
ÆäʵÕâ¸ö¹æÂÉ¿ÉÒÔ¼òµ¥À©Õ¹µ½ÈÎÒâÆæÊý½×»Ã·½£¨ÒÔÏÂsizeÊÇÆæÊý£©£º
x = size / 2 + 1 + n + n / size; (×¢ÒâÕâÀïµÄ³ý·¨ÊÇÈ¡Õû³ý·¨£¬²»´øÐ¡Êý)
y = size / 2 + n - n / size;
ÕâÑù£¬ÎÒÃǾͿÉÒÔ°ÑÔÀ´¸´ÔÓµÄÑ»·£¬»¯¼ò³ÉÒ»ÖØ¼òµ¥Ñ»·
ÓÚÊÇÓгÌÐò£º
view plaincopy to clipboardprint #include
#define SIZE 5 //¶¨Òå»Ã·½½×Êý£¬Õâ¸öÊýÖ»ÄÜÊÇÆæÊý
int main()
{
int x, y, i, sqSize, hSize;
int sqMap[SIZE][SIZE];
sqSize = SIZE * SIZE;
hSize = SIZE / 2;
//¼ÆËã1ÖÁSIZE * SIZEµÄÊýµÄλÖò¢¼Ç¼
for ( i = 0; i < sqSize; i++)
{
x = hSize + 1 + i + i / SIZE;
y = hSize + i - i / SIZE;
sqMap[y % SIZE][x % SIZE] = i + 1;
}
//ÒÔÏÂÊÇÊä³ö
for (y = 0; y < SIZE; y++)
{
for (x = 0; x < SIZE; x++)
printf("%4d", sqMap[y][x]);
puts("");
}
return 0;
}
#include
#define SIZE 5 //¶¨Òå»Ã·½½×Êý£¬Õâ¸öÊýÖ»ÄÜÊÇÆæÊý
int main()
{
int x, y, i, sqSize, hSize;
int sqMap[SIZE][SIZE];
sqSize = SIZE * SIZE;
hSize = SIZE / 2;
//¼ÆËã1ÖÁSIZE * SIZEµÄÊýµÄλÖò¢¼Ç¼
for ( i = 0; i < sqSize; i++)
{
x = hSize + 1 + i + i / SIZE;
y = hSize + i - i / SIZE;
sqMap[y % SIZE][x % SIZE] = i + 1;
}
//ÒÔÏÂÊÇÊä³ö
for (y = 0; y < SIZE; y++)
{
for (x = 0; x < SIZE; x++)
printf("%4d", sqMap[y][x]);
puts("");
}
return 0;
}
Õâ¸ö±ÈÄãÍøÉÏÄÜÕÒµ½µÄºÜ¶àÇóÆæÊý½×»Ã·½µÄ´úÂë¶¼¶ÌСºÜ¶à£¨²»¹ýÍøÉÏ½Ï¶à³ÆÖ®ÎªÄ§·½Õ󣬲»ÖªÎªºÎ£©
4. ×Ö·û´®Ñ»·ÒÆÎ»
ÎÊÌ⣬¸øÄãÒ»¸ö×Ö·û´®£¬ÒªÇóÑ»·×óÒÆnλ
±ÈÈç¶Ô"abcdefg" Ñ»·×óÒÆ2룬ÎÒÃÇÒªµÃµ½"cdefgab"
¸½¼ÓÌõ¼þ£¬²»ÄÜʹÓÃÁ¬Ðø¸¨Öú¿Õ¼ä£¨°üÀ¨¶¯Ì¬·ÖÅ䣩£¬Ö»ÄÜʹÓÃÈô¸Éµ¥¸ö±äÁ¿£¨¼´O(1)¿Õ¼ä£©
Ê×ÏÈ£¬ÎÒÃÇÖªµÀ£¬·´×ªÒ»¸ö×Ö·û´®²Ù×÷£¨"abcd"±ä"dcba"£©£¬ÊDz»ÐèÒª¶îÍâÊý×鸨ÖúµÄ£¬Ö»ÒªÍ·Î²Êý¾Ý½»»»¾Í¿ÉÒÔÁË
È»¶ø£¬¿ÉÄÜÄã²»ÖªµÀ£¬½ö½öʹÓÃ×Ö·û´®·´×ª¿ÉÒÔʵÏÖ×Ö·û´®Ñ»·ÒÆÎ»£º
view plaincopy to clipboardprint //·´×ª×Ö·û´®£¬°ÑstÓëedËùÖ¸ÏòµÄÖмäµÄÄÚÈÝ·´×ª£¨°üº¬st²»°üº¬ed£©
void str_rev(char* st, char *ed)
{
for (--ed; st < ed; ++st, --ed)
{
char c;
c = *st; *st = *ed; *ed = c;
}
}
//·´×ª×Ö·û´®£¬°ÑstÓëedËùÖ¸ÏòµÄÖмäµÄÄÚÈÝ·´×ª£¨°üº¬st²»°üº¬ed£©
void str_rev(char* st, char *ed)
{
for (--ed; st < ed; ++st, --ed)
{
char c;
c = *st; *st = *ed; *ed = c;
}
}
view plaincopy to clipboardprint //ÓÃÈý·´×ªµÈЧ×óÒÆ×Ö·û´®£¨stÓëedÖ®¼ä£¬°üº¬st²»°üº¬edµÄÄÚÈÝ£©
char* str_shl(char* st, char* ed, int n)
{
str_rev(st, &st[n]);
str_rev( &st[n], ed);
str_rev(st, ed);
return st;
}
//ÓÃÈý·´×ªµÈЧ×óÒÆ×Ö·û´®£¨stÓëedÖ®¼ä£¬°üº¬st²»°üº¬edµÄÄÚÈÝ£©
char* str_shl(char* st, char* ed, int n)
{
str_rev(st, &st[n]);
str_rev( &st[n], ed);
str_rev(st, ed);
return st;
}
view plaincopy to clipboardprint #include
#include
int main()
{
char str[] = "abcdefghijklmnopqrstuvwxyz";
puts( str_shl(str, str + strlen(str), 6) );
getchar();
return 0;
}
#include
#include
int main()
{
char str[] = "abcdefghijklmnopqrstuvwxyz";
puts( str_shl(str, str + strlen(str), 6) );
getchar();
return 0;
}
ÕâÀÈç¹ûҪѻ·×óÒÆnλ£¬Ö»Òª°ÑÔÀ´×Ö·û´®·Ö³ÉÁ½¶Î£¬Ç°n×Ö·û£¬ºÍºóÃæÆäËü×Ö·û
Á½¶Î·Ö±ð·´×ª£¬×îºóÔÙÕûÌ巴ת£¬¾ÍʵÏÖÁËÑ»·×óÒÆ£¨Èç¹ûÏÈÕûÌåÔÙÁ½²¿·Ö£¬¾ÍÊÇÑ»·ÓÒÒÆ£©
×÷Õß¡°Csdn_zcµÄרÀ¸¡±