A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

突然想到就写了一下,不知道有没有什么bug,求高人指点啊
  1. int[] nums = { 4, 56, 9, -14, 37, 26, -17, -1, 77, 10, 108 };
  2. List<int> list = new List<int>();
  3. list.Add(int.MinValue);
  4. for (int i = 0; i < nums.Length - 1; i++)
  5. {
  6. for (int j = 0; j < list.Count; j++)
  7. {
  8. if (nums[i + 1] > list[list.Count - 1 - j] && j == 0)
  9. {
  10. list.Add(nums[i + 1]);
  11. break;
  12. }
  13. else if (nums[i + 1] > list[list.Count - 1 - j])
  14. {
  15. list.Insert((list.Count - j), nums[i + 1]);
  16. break;
  17. }
  18. }
  19. }
复制代码

1 个回复

倒序浏览
       int[] nums = { 4, 56, 9, -14, 37, 26, -17, -1, 77, 10, 108 };
            List<int> list = new List<int>();
            list.Add(nums[0]);
            for (int i = 1; i < nums.Length - 1; i++)
            {
                for (int j = 0; j < list.Count; j++)
                {
                    if (nums[i + 1] > list[list.Count - 1 - j] && j == 0)
                    {
                        list.Add(nums[i + 1]);
                        break;
                    }
                    else if (nums[i + 1] > list[list.Count - 1 - j])
                    {
                        list.Insert((list.Count - j), nums[i + 1]);
                        break;
                    }
                }


还不如这样呢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马