2016/12/10

来源:互联网 发布:一拍两散 罪人 知乎 编辑:程序博客网 时间:2024/05/22 14:57
1631-5 黄加勉 <2016.12.10> 【连续第70天总结】


A.今日任务
1.归并排序(50%)
2.贪吃蛇(90%)


B.具体内容
1.归并排序的原理比较好理解,就是把元素分成若干组,然后两两合并进行排序,循环至数组中只有一个组为止,
 重点是步长的递增与数组的合并,其中因为是对原数组排序,所以需要一个临时数组记录排序结果,分割数组就可以用前后指针表示:
void mergeArray(int arr[],int first,int last,int mid,int temp[])
{
int p1,p2,p3;
//左右指针、临时数组指针赋值
p1 = first,p2 = last - mid + 1,p3 = 0;
while(p1 < mid && p2 < last+1)
{
if(arr[p1] < arr[p2])
temp[p3++] = arr[p1++];
else
temp[p3++] = arr[p2++];
}
while(p1 < mid)
temp[p3++] = arr[p1++]; 
while(p2 < last+1)
temp[p3++] = arr[p2++]; 
for(int i = 0; i <= last; i++)
arr[first+i] = temp[i];
}
 具体到排序部分的代码,写出来但是bug太多,等尻好再贴出来吧。。
2.之前一直在想别人做贪吃蛇为什么可以用“■”表示蛇神,后来发现,“■”是ibm定义的扩展ascii库中的元素,打印在控制台上占1行2列,如果要改成“■”的话代码就要全改,还是算了吧。。
3.发现很好用的改控制台颜色的api:
HANDLE hWnd;
  hWnd = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hWnd,xxx);
 xxx代表的个位控制字体颜色,十位和百位控制背景色,总之用好可以让控制台别有一番风味,附自制颜色值参考图:


C.明日任务
1.归并排序
2.搜索
3.贪吃蛇
blog.csdn.net/voooooh_8
0 0
原创粉丝点击