一个排序的难题,谁可以解决?我现在只有37分。 “按照这个规律知道取出最后一张牌K。”Sorry,是按照这个规律直到取出最后一张牌K。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用CStringArray,反正是判断、删除、追加,而且确认不会死循环,最后打印出结构就是了,每个组成元素为一个CString="A"或其它值 it is easy, 你以第一张为起点进行作就是了,如果还做不出,明天我给你写. yakai(日落长河),hfcRabbit(兔子)说说算法? 请朋友们帮忙一下,http://www.csdn.net/expert/topic/422/422552.shtm急盼你的回复,以解疑惑。 #include<stdio.h>void main(){ int p[13]; int i = 0; int k = 0; for ( int j = 0; j < 13; j++ ) { p[j] = 0; } p[0] = 1; for ( i = 1; i < 13; i++ ) { for ( ; ; ) { if ( k >= 13 ) { k = 0; } if ( p[k] == 0 ) { k++; break; } else { k++; } } for ( ; ; ) { if ( k >= 13 ) { k = 0; } if ( p[k] == 0 ) { break; } else { k++; } } p[k] = i + 1; } } xiaoxiaohan(萧晓寒) 的方法可行,讨论一下用OOP方法,如何分类才最优? #include "stdafx.h"int m=13;int n=2*m-1;int a[100];void sort1(){ int cur_blank=n-5, cur_insert=n-2; while(cur_blank>1) { for(int i=cur_blank, p=cur_insert ;i<cur_insert;i+=2,p++)a[i]=a[p]; int temp=cur_insert; cur_insert=cur_blank; cur_blank-=2*(temp-cur_blank); }} int main(int argc, char* argv[]){ for(int i=1,j=1;i<2*m-1;i+=2,j++)a[i]=j; a[2*m-1-1]=m; sort1(); for(i=1 ;i<14;i++) printf("%d ",a[i]); return 0 ; } 算法描述 见:sword_king(sword_king) CDHtmlDialog 问题 关于FindWindow查找窗口及控件的句柄 两个子窗口如何传值呢? 外部进程如何模拟点击toolbar CBitmap内存泄漏问题 急!绝对奇怪的UpdateData(TRUE)异常,我上传源码了!我以前都没有碰到过! 在哪里找象LPRECT这样的参考? 如何实现这样的问题! 请问为什么在95下不能用mci播放MPEGVideo格式的avi?在98和2000下都可以播?急用,高手指点 如何修改窗口类名? 我给你还不行吗?不要让我失望了 关于Com+的分发问题,请大家再关注一下,看看这个怎么解决?
最后打印出结构就是了,每个组成元素为一个CString="A"或其它值
如果还做不出,明天我给你写.
急盼你的回复,以解疑惑。
{
int p[13];
int i = 0;
int k = 0;
for ( int j = 0; j < 13; j++ )
{
p[j] = 0;
}
p[0] = 1;
for ( i = 1; i < 13; i++ )
{
for ( ; ; )
{
if ( k >= 13 )
{
k = 0;
}
if ( p[k] == 0 )
{
k++;
break;
}
else
{
k++;
}
}
for ( ; ; )
{
if ( k >= 13 )
{
k = 0;
}
if ( p[k] == 0 )
{
break;
}
else
{
k++;
}
}
p[k] = i + 1;
}
}
int m=13;
int n=2*m-1;
int a[100];
void sort1()
{
int cur_blank=n-5,
cur_insert=n-2;
while(cur_blank>1)
{ for(int i=cur_blank, p=cur_insert ;i<cur_insert;i+=2,p++)a[i]=a[p];
int temp=cur_insert;
cur_insert=cur_blank;
cur_blank-=2*(temp-cur_blank);
}}
int main(int argc, char* argv[])
{
for(int i=1,j=1;i<2*m-1;i+=2,j++)a[i]=j;
a[2*m-1-1]=m;
sort1();
for(i=1 ;i<14;i++) printf("%d ",a[i]);
return 0 ;
}