zoukankan      html  css  js  c++  java
  • 算法基础系列之五:数组排序类

    有一段时间没有更新博客了,这段时间比较郁闷。没什么新东西,把前几天面试的一道算法题写一下。应该是很简单的,只是很久没理算法这种东西了。
    [题目]:存在两个数组a[n]b[m]n>=m>0。需要取出数组a中最小的元素放入b[0],次小的放入b[1],依此类推,不能修改数组a,不能使用新数组。不排除数组a中的元素的值存在相等的可能性。
    [程序]

    static void Main(string[] args)
    {
        
    int[] a = new int[102242502639 };
        
    int[] b = new int[8];
        
    //
        int x1 = int.MaxValue;
        
    int x2 = -1;
        
    bool flag = false;
        
    for (int i = 0; i < b.Length; i++)
        
    {
            
    for (int j = 0; j < a.Length; j++)
            
    {
                
    for (int l = 0; l < i; l++)
                
    {
                    
    if (b[l] == j)
                    
    {
                        flag 
    = true;
                        
    break;
                    }

                }

                
    if (!flag && a[j] <= x1)
                
    {
                    x1 
    = a[j];
                    x2 
    = j;
                }

                flag 
    = false;
            }

            x1 
    = int.MaxValue;
            b[i] 
    = x2;
        }

        
    //
        for (int i = 0; i < b.Length; i++)
        
    {
            b[i] 
    = a[b[i]];
        }

        
    //
        for (int i = 0; i < b.Length; i++)
        
    {
            Console.WriteLine(b[i]);
        }

        Console.Read();
    }
  • 相关阅读:
    源码实现 --> strcmp
    源码实现 --> strdel
    源码实现 --> strcpy
    SoC的Testbench中的简易bus_monitor(加入print函数)
    debian 安装后需做的几件事
    使用Perl合并文件
    一个简单的Verilog计数器模型
    Environment Modules简单使用
    Git push “fatal: Authentication failed ”
    使用SystemC进行硬件仿真
  • 原文地址:https://www.cnblogs.com/morvenhuang/p/1231752.html
Copyright © 2011-2022 走看看