如何解决合并排序中的递归没有增长:
在我的主要函数中已经调用(用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 ....
....
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。