搜索
查看: 504|回复: 1
打印 上一主题 下一主题

在桶排序中最后一步中的j<=date[i]是什么意思

[复制链接]
跳转到指定楼层
楼主
 楼主| 发表于 2020-3-20 21:03:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. #include <iostream>
  2. #include <stdio.h>
  3. using namespace std;
  4. int main()
  5. {
  6.     int n;
  7.     cin>>n;
  8.     int date[n];
  9.     for(int i;i<n;i++)
  10.     {
  11.         cin>>date[i];
  12.     }
  13.     for(int i;i<n;i++)
  14.         for(int j;j<=date[i];j++)
  15.         cout>>i;
  16.     return 0;
  17. }
复制代码
在桶排序中最后一步中的j<=date是什么意思

沙发
发表于 2020-3-23 11:37:20 | 只看该作者
本帖最后由 嘟嘟编程 于 2020-5-14 18:50 编辑

你漏代码了吧仔细看看,第九行for循环里漏了什么,(再加一个变量):
  • #include <iostream>
  • #include <cstdio>//C++头文件
  • using namespace std;
  • int main()
  • {
  •     int n,t;
  •     cin>>n;
  •     int date[n];
  •     for(int i;i<n;i++)
  •     {
  •         cin>>t;
  •         date[t]++;
  •     }
  •     for(int i;i<n;i++)
  •         for(int j;j<=date;j++)
  •             cout>>i;
  •     return 0;
  • }
j<=date是表示要输出几次
如果读入里出现了一次,date就+1
此时date=1,for循环就会输出一次
(因为1=1,表达式成立,就会置信for循环一次,一次后2>1,表达式不成立,就跳出循环了


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表