网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
10月11日漏签0天
c语言吧 关注:800,090贴子:4,365,479
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 4回复贴,共1页
<<返回c语言吧
>0< 加载中...

救救孩子吧

  • 只看楼主
  • 收藏

  • 回复
  • IMUI
  • 异能力者
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

想实现归并排序
没有报错,也没有输出,运行框没有内容
问各个ai,认为我的代码是对的
经调试只找到process函数中L,mid,R三个参数都是0,不知道怎么没解决


  • IMUI
  • 异能力者
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
代码文本
//归并排序
/*
空间复杂度计算:
T(N) = 2*T(N/2) + O(N)
a = 2, b = 2, d = 1
故时间复杂度为 O(NlogN)
*/
#include<stdio.h>
//整体归并排序算法入口
void all_sort (int arr[], int len);
//归并排序算法入口
void process (int arr[], int L, int R);
//比较合并新数组
void merge (int arr[], int L, int M, int R);
int main (void)
{
//定义数组参数
int arr[] = {3,2,5,6,7,4};
int len = sizeof(arr) / sizeof(arr[0]);
//整体归并排序
all_sort (arr, len);
//遍历输出
for (int i = 0; i < len; i ++)
printf ("%d\n", arr[i]);
return 0;
}
//输入数组,数组长度
void all_sort (int arr[], int len)
{
//算法入口
process (arr, 0, len - 1);
}
//输入数组,最小下标,最大下标
void process (int arr[], int L, int R)
{
//定义中值,进行二分
int mid = L + ((R - L) >> 1);
//递归
process (arr, L, mid);
process (arr, mid + 1, R);
//封装合并
merge (arr, L, mid, R);
}
//输入数组,最小下标,中值,最大下标
void merge (int arr[], int L, int M, int R)
{
//定义空数组及其参数设置
int help [R - L + 1];
int i = 0;
int p1 = L;
int p2 = M + 1;
//循环比较
while (p1 <= M && p2 <= R)
help[i++] = arr [p1] <= arr[p2] ? arr[p1++] : arr[p2++];
while (p1 <= M)
help[i++] = arr[p1++];
while (p2 <= R)
help[i++] = arr[p2++];
//遍历合并
for (i = 0; i < R - L + 1; i ++)
arr[L + i] = help[i];
//测试
for (i = 0; i < R - L + 1; i ++)
printf ("%d\n", arr[L + i]);
}


2025-10-11 11:32:47
广告
不感兴趣
开通SVIP免广告
  • aaaaaaaaaぁ
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
不会多打几个断点调试吗?调试找到process参数有问题不会看看allsort吗?


  • 变奏的梦想🏃
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
process作为递归函数没有递归出口


  • IMUI
  • 异能力者
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
解决了,递归函数process没有终止,函数开头加一个if L!⁼R即可


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 4回复贴,共1页
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示