永发信息网

关于2维数组的

答案:4  悬赏:40  手机版
解决时间 2021-07-31 07:16
  • 提问者网友:浮克旳回音
  • 2021-07-31 04:24

输入10个人名和学号.

学号从小到大排列,学号与姓名总在一起

输入姓名,用半折法查找,输出该人学号

如果没有此人,插入此人信息.

最佳答案
  • 五星知识达人网友:迟山
  • 2021-07-31 05:56
你真是太懒了,这又不是什么技术活
全部回答
  • 1楼网友:罪歌
  • 2021-07-31 09:03

给个2分法的简单例题自己看看吧

#include <iostream> using namespace std; int main() { int i, l, h, m, b; int a[6] = { 1,3,5,7,9 }; cin >> b; l = 0; h = 4; do { // 二分查找合适的插入位置 m = ( l+h )/2; if ( a[m] < b ) l = m+1; else if ( a[m] >= b ) h = m-1; } while( l <= h ); for ( i = 6; i > l; --i ) // 腾出位置插入b a[i] = a[i-1]; a[l] = b; // 插入 for ( i = 0; i < 6; ++i ) // 输出 cout << a[i] << ' '; }

  • 2楼网友:老鼠爱大米
  • 2021-07-31 08:11

开二维数组,1..n,1..2

x,1存放学号,x,2存放姓名

就这么简单

  • 3楼网友:煞尾
  • 2021-07-31 07:04

输入姓名,怎么可能折半呢?

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯