问题描述
在我的主要函数中已经调用(用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 ....
....
}