合并排序中的递归没有增长:

问题描述

在我的主要函数中已经调用(用C语言完成编码):

StreamBuilder( stream: FirebaseFirestore.instance.collection('users').doc(FirebaseAuth.instance.currentUser.uid).snapshots(),builder: (context,snapshot) { if (!snapshot.hasData) { return Text("Loading user data"); } final DocumentSnapshot ds = snapshot.data; final Map<String,dynamic> userData = ds.data(); if(userData != null) { username = userData['username']; } return new Scaffold(...); },)

我的实际排序功能如下

merge_sort(array,numberofelemts);

我的问题是这些值降低到l = 0 m = 1 r = 2,然后不断循环遍历这些值。据我了解,在将值减小到右边之后。它减少了左手,然后使问题恢复到原始大小。除了递归似乎失败。

解决方法

l和r永远不会被修改,只要您用r> l + 1调用此函数,它将永远不会结束。

如果您想递归地实现merge_sort,则可能需要类似:

if(r > l+1){
    int mid ....
    ....
}

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...