下你所需,载你所想!
汇集开发技术源码资料

通俗易懂的可视化冒泡排序源码

:6.161KB :1 :2019-12-22 10:36:50

部分简介

源码里忘了一件事把原来的位图选回去,删除位图,删除内存DC,好像就那几个了。

num = 取数组成员数 (array)
.计次循环首 (num, i)
.变量循环首 (i + 1, num, 1, n)
.如果真 (array [i] < array [n])
tmp = array [i]
array [i] = array [n]
array [n] = tmp ' 变量交换
rc = MakeRect (n × 2, 0, n × 2 + 1, 高度) ' 设置重绘的区域,这个区域不知道怎么表达
' 冒泡排序是每次都拿一个数和后面所有数做对比,这个区域就是后面的数的区域,不太会表达,自己意会去
FillRect (m_hDCMem, rc, m_hBrush) ' 每次重画之前都把原先的东西覆盖掉,用白色填充需要重绘的区域
DrawLine (n × 2, array [n]) ' 把后面的线换成替换之前的线
InvalidateRect (g_hWnd, rc, 假) ' 使这个区域失效,第三个参数表示重绘时擦布擦除背景,假为不擦除,会发送 WM_PAINT 消息
' 延时 (1)
.如果真结束

.变量循环尾 ()
rc = MakeRect (i × 2, 0, i × 2 + 1, 高度) ' 设置重绘的区域,不需要整个窗口重绘,那样比较慢,这个区域是已经排序好的位置
FillRect (m_hDCMem, rc, m_hBrush) ' 每次重画之前都把原先的东西覆盖掉,用白色填充需要重绘的区域
DrawLine (i × 2, array [i])
InvalidateRect (g_hWnd, rc, 假) ' 使这个区域失效,第三个参数表示重绘时擦布擦除背景,假为不擦除,会发送 WM_PAINT 消息
处理事件 ()
延时 (10) ' 稍微延时一下,免得速度太快看得不爽
.计次循环尾 ()

通俗易懂的可视化冒泡排序源码

热门推荐

相关文章