91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#調整數組順序,讓奇數位于偶數前面的算法的代碼

發布時間:2020-07-11 13:55:44 來源:網絡 閱讀:477 作者:tozgb 欄目:開發技術

寫內容之余,把寫內容過程中比較重要的內容記錄起來,如下的資料是關于C#調整數組順序,讓奇數位于偶數前面的算法的內容,希望對碼農們有用。

#region 調整數組順序使奇數位于偶數前面
class Reorder
{
private List<int> _array;
private RecorderOperator _op;

public List<int> array   
{  
    get { return _array; }  
    set { _array = value; }  
}  
public RecorderOperator op  
{  
    get { return _op; }  
    set { _op = value; }  
}  
public Reorder(List<int> array, RecorderOperator op)  
{  
    _array = array;  
    _op = op;  
}  
public Reorder() { }  

public void ReorderArray()  
{  
    int length = array.Count;  
    int start = 0, end = length - 1;  
    while (start < end)  
    {  
        while (start < end && !op.Operator(array[start]))  
            start++;  
        while (start < end && op.Operator(array[end]))  
            end--;  
        if (start < end)  
        {  
            int temp = array[start];  
            array[start] = array[end];  
            array[end] = temp;  
        }  
    }  
}  

public void Print()  
{  
    array.ForEach(a=>Console.Write(a+"  "));  
    Console.WriteLine();  
}  

}
class RecorderOperator
{
public virtual bool Operator(int n)
{
return false;
}
}
class ConcreteRecorderOperator1:RecorderOperator
{
public override bool Operator(int n)
{
return (n & 0x1)==0;
}
}
class ConcreteRecorderOperator2 : RecorderOperator
{
public override bool Operator(int n)
{
return n%3!=0;
}
}
#endregion
class Test{
public void ReorderTest()
{
RecorderOperator op1 = new ConcreteRecorderOperator1();
Reorder reorder = new Reorder(new List<int>{2,3,4,9,5},op1);
Console.WriteLine("所有奇數位于數組的前半部分,所有偶數位于數組的后半部分");
reorder.Print();
reorder.ReorderArray();
reorder.Print();
RecorderOperator op2 = new ConcreteRecorderOperator2();
reorder.op = op2;
reorder.ReorderArray();
Console.WriteLine("能被3整除的數在前,不能被3整除的數在后");
reorder.Print();
}
}
class Program
{

static void Main(string[] args)  
{  
    Test t = new Test();  
    t.ReorderTest();  

}  

}

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乐安县| 柳江县| 外汇| 江安县| 华池县| 额尔古纳市| 海丰县| 白银市| 高平市| 灵璧县| 临安市| 盘山县| 元朗区| 达州市| 白城市| 寻乌县| 图木舒克市| 九台市| 古蔺县| 东明县| 资讯| 赫章县| 聂荣县| 新密市| 深水埗区| 吴江市| 高邑县| 轮台县| 壶关县| 苍山县| 阿克苏市| 五家渠市| 大宁县| 莱西市| 隆安县| 宁国市| 广水市| 平舆县| 连江县| 南涧| 临汾市|