【C语言训练(15)—越范围和辩论下插入数据并排序】

[复制链接]
发表于 2025-11-27 18:28:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
C语言训练(15)


  
<hr> 媒介


      
  • 本次紧张训练了对数组的排序和插入,并思量到插入雷同的数字和凌驾该数组范围时怎样处置惩罚
标题


      
  • 给一个2,4,6,10,15,20,45,78,80,31数组,当插入一个整数时,构成一个新的数组,并将数组按照从小到大肆行排序
标题分析


      
  • 本次的步调是,先对原来的数组2,4,6,10,15,20,45,78,80,31举行排序,然后插入数组,插入数组时思量到插入数字大概雷同比如80,就和原来数组元素一样,当插入数字200和-200时间怎样处置惩罚  
  • 排序头脑使用的冒泡法排序见【C语言训练(14)—冒泡法举行数字巨细排序】,https://blog.csdn.net/weixin_56089319/article/details/144608658?spm=1001.2014.3001.5501
   {   
int arr[] = {2,4,6,10,15,20,45,78,80,31};
int length = 0;
int t = 0;
int num = 0;
length = sizeof(arr) / sizeof(arr[0]);//盘算数组元素个数
for (int i = 0; i < length - 1 ; i++)//盘算比力的次数,10个数只需比力9次
{   
for (int j = 0; j < length - 1 - i; j++)//当第一轮比力完成后,最大的一个数已经排序好
{   
if (arr[j] > arr[j + 1])
{   
t = arr[j];//来储存这个必要互换的数
arr[j] = arr[j + 1];
arr[j + 1] = t;
}
}
}
  
      
  • 思量到会逾越数组的最大值和最小值,先举行越界判定
   if (num > arr[length - 1])//大于数组最大值得环境
{   
arr2[10] = num;
for (int i = 0; i <length; i++)
{   
arr2 = arr;
;
}
for (int i = 0; i <= length; i++)
{   
printf("%d “, arr2);
}
}
else if (num < arr[0])//大于数组最小值得环境
{   
arr2[0] = num;
for (int i = 0; i < length; i++)
{   
arr2[i+1] = arr;
}
for (int i = 0; i <= length; i++)
{   
printf(”%d ", arr2);
}
}
  
      
  • 对于插入的刚好是中心的数
  1.      else {
  2.    
  3.    
  4.         for (int i = 0; i < length; i++)
  5.         {
  6.    
  7.    
  8.             if (arr[i] <= num && arr[i + 1] >= num)//找到要插入数在数组中的位置
  9.             {
  10.    
  11.    
  12.                 x = i + 1;//将该数在数组中的位置记录下来
  13.                 break;
  14.             }
  15.         }
  16.         for (int i = length - 1; i >= x; i--)//从后往前将大于插入的数找出来
  17.         {
  18.    
  19.    
  20.             arr2[i + 1] = arr[i];
  21.         }
  22.         for (int i = 0; i < x; i++)//从前往后将前一部分数组找出来
  23.         {
  24.    
  25.    
  26.             arr2[i
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表