12月24日摸鱼打卡——排序算法(2/n)

晓晓晓晓晓晓枫 2021-12-24 21:19:36
加精

折半排序算法

public void BinInsertSort()	//对R[0..n-1]按递增有序进行折半插入排序
{  int low,high,mid;
   RecType tmp;
   for (int i=1;i<n;i++)
   {  if (R[i].key<R[i-1].key)		//反序时
      {  tmp=R[i];			//将R[i]保存到tmp中
         low=0;high=i-1;
         while (low<=high)		//在R[low..high]中折半查找插入位置
         {  mid=(low+high)/2;		//取中间位置
            if (tmp.key<R[mid].key)
               high=mid-1;		//插入点在左区间
            else
               low=mid+1;		//插入点在右区间
         }
         for (int j=i-1;j>=high+1;j--)	//元素集中后移
            R[j+1]=R[j];
         R[high+1]=tmp;			//插入原来的R[i]
      }
   }
}

粘到昨天写的类里边去,创建测试类来调试...

今天摸鱼了,因为很累......

...全文
335 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_47804666 2022-09-19
  • 打赏
  • 举报
回复
太好了
weixin_47804666 2022-09-19
  • 打赏
  • 举报
回复
写的真好

182,376

社区成员

发帖
与我相关
我的任务
社区描述
一个人可以走的很快,一群人才能走的更远! 加我微信群一起交流讨论学习! 共创美好社区!
社区管理员
  • 呆呆敲代码的小Y
  • 芝麻粒儿
  • 布小禅
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

社区公告:

【社区核心】学习优先,其他靠边!

社区每日打卡贴,学习有福利,奖励不断!

【游戏开发爱好者社区】本周重磅推出【每日打卡】活动

🎁 新玩法,奖励升级!

游戏开发爱好者社区:https://bbs.csdn.net/forums/unitygame

社区中心思想:今天你学到了什么?

⭐️ 活动要求:

  1. 每日 在 社区打卡贴 进行发帖打卡,提交任务
  2. 在社区 坚持 5 天打卡 ,将参与到抽奖名单中,这很重要!
  3. 打卡满七天的周末时 社区积分排行榜第前三 的小伙伴可任选一本以下书籍,其余的抽奖处理~
  4. 参加抽奖请先 添加打卡抽奖群,否则无效,加群请添加微信:ZAY1422761991

本周抽奖池技术书籍分别各3本,一共6本

【社区积分规则】

  • 在社区「发帖」得20积分
  • 内容被管理员「加精」得50积分
  • 点赞他人内容得2积分
  • 评论内容得5积分

 

试试用AI创作助手写篇文章吧