报错

来源:2-6 插入排序法的改进

好嗨难

2020-12-27

http://img.mukewang.com/szimg/5fe87c9009d41fa403050176.jpg

老师我这里注释掉assert能正常排序

void testSort(const string& SortName, void(*sort)(T[], int,int), T arr[], int l,int n)

{

clock_t startTime = clock();

sort(arr,l,n);

clock_t endTime = clock();

//assert(isSorted(arr,l,n));

cout << SortName <<":"<< double(endTime - startTime) / CLOCKS_PER_SEC << "s" << endl;

}

这里打开注释后就被中断了

http://img.mukewang.com/szimg/5fe87ce50995088709190438.jpg

大概是什么原因,排序算法逻辑应该没有问题啊。没有用assert能正常排序是不是证明算法没有问题

写回答

1回答

liuyubobobo

2020-12-27

assert 就是为了检测是否排序正确。程序能运行不代表排序正确。我没有看到你打印排序的结果,请尝试在排序后打印排序结果,检查排序是否正确。

1
7
liuyubobobo
回复
好嗨难
所以是不是排序算法有问题?
2020-12-27
共7条回复

算法与数据结构(C++版) 面试/评级的算法复习技能包

课程专为:短时间内应对面试、升职测评等艰巨任务打造

11186 学习 · 1614 问题

查看课程