龟速学习visualc++3

    技术2022-05-11  70

    刚刚看到书上一个折半插入排序的程序,看来看去不是很明白,上网搜索了下,基本连抄带改把程序运行出来了,感觉没有什么问题了,可是看起来还是有点问题,显示的是: Debug Error! Program:... Module:...cuments/.... File: Run-Time Check Failure #2 - Stack around the variable ' a' was corruptred. (Press Retry to debug the application) 郁闷ing...先贴程序 [Copy to clipboard] CODE: // array_4.cpp : Defines the entry point for the console application. //binaryInsertSort #include "stdafx.h" #include <iostream> using namespace std; const int num=16; int main(int argc, _TCHAR* argv[]) { int a[num]={9,8,7,6,5,4,3,2,11,12,13,16,15,14,19,1};     int left,right,middle,tempRecord;     for(int i=1;i<num;i++) {   tempRecord=a[i];//将当前待插入记录保存在临时变量中   left=0;   right=num-1;//记录已排好序序列的左右位置   while(left<=right)//开始查找待插入记录的正确位置   {    middle=(left+right)/2;//记录中间位置    if(tempRecord<a[middle])//如果待插入记录比中间记录小,就在左一半中查找,否则,在右一半中查找     right=middle-1;    else     left=middle+1;   }   //将前面所有大于当前待插入记录的记录后移   for(int j=i-1;j>=left;j--)    a[j+1]=a[j];   a[left]=tempRecord;//将待插入记录回填到正确位置. } for(int i=0;i<=num-1;i++)   cout<<a[i]<<" "; cout<<endl; return 0; } 懒了,先找会bug...找不到就睡觉,明天接着看... 刚才自己看了会郁闷地不得了了...死活看不出来啊,就把这个链接发到群里了去了,拉着整群的人看...本来他们都讨论着聚餐那...hoho~~~先是请教了传说中的程序猿H同学...H同学显然是对vc有点距离...他指示我要转交河马...果然那句有困难找组织没说错,光荣而伟大的党组织的公务猿河马同志告知改为变量的声明,然后问题迎刃而解...虽然还是不能正确排序...但是debug error没了...修改方法如下: int a[num]={9,8,7,6,5,4,3,2,11,12,13,16,15,14,19,1}; ----> static int a[num]={9,8,7,6,5,4,3,2,11,12,13,16,15,14,19,1}; over...排序的问题明天继续...  

    最新回复(0)