怎么没人带头啊 ?晕类!有没一起学习的加我QQ:578757691
to ajax95
感觉这样做分步演示,计算部分写起来比较复杂。
用线程也许更容易一些,把计算部分放到一个单独的线程,和控制线程同步。vc中应该有控制多线程的方法吧。
例如这样一个结构。(我多线程也没写过,不熟悉)
[CODE]
vector<int> container;
bool finish;
DWORD WINAPI algorithmThreadFunc( LPVOID lpParam );
void mySort(...);
int main() //control thread
{
init(container);
//Create algorithm thread
......
finish = false;
while(!finish)
{
//同步,move to algorithm thread
//等待计算线程信号量
......
//然后
waitSomeTime();
draw();//在画面更新每一步结果
}
......
}
DWORD WINAPI algorithmThreadFunc( LPVOID lpParam )
{
......
mySort(...);
finish = true;
......
}
void mySort(...) //对container操作
{
......
......
//synchronize after somewhere move or swap action
//self block and move to control thread
......
......
}
[/CODE]