assert报错

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

好嗨难

2020-12-27

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

老师我这里随机生成10个元素的数组,第一次用Seclection,第二次用insertionSort

没用assert(isSorted)能编译成功,

http://img1.sycdn.imooc.com/szimg/5fe87720098cbdf105360702.jpg

打开注释assert(isSorted(arr,l,n));后显示错误,

为什么我没用assert之前可以正常排序出来,assert后却一直显示错误。


我这里 isSorted好像也没错啊

template<typename T>

bool isSorted(T arr[],int l, int n)

{

for (int i =l; i < n; i++)

{

if (arr[i]>arr[i+1])

return false;

}

return true;

}


写回答

2回答

liuyubobobo

2020-12-27

所以说明 assert 失败了呀,所以说明 issorted 返回的是 false 呀。

0
0

liuyubobobo

2020-12-27

说明你的排序算法的逻辑是错误的,没有正确的对数组进行排序。把排序后的结果打印出来,看看是不是这样?如果是这样,检查一下自己的排序算法逻辑哪里有问题?

继续加油!:)

0
2
liuyubobobo
回复
好嗨难
所以说明 assert 失败了呀,所以说明 issorted 返回的是 false 呀。
2020-12-27
共2条回复

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

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

11187 学习 · 1614 问题

查看课程