第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

對象堆棧Albahari

對象堆棧Albahari

C#
寶慕林4294392 2021-04-09 17:14:51
這是阿爾巴哈里(Albarhari)的例子public class Stack{int position;object[] data = new object[10]; // Why 10 nor 1? public void Push (object obj) { data[position++] = obj; } //do not understood; Why there is no looppublic object Pop() { return data[--position]; } //do not understood Why there is no loop}Stack stack = new Stack();stack.Push ("sausage");string s = (string) stack.Pop(); // Downcast, so explicit cast is neededConsole.WriteLine (s); // sausage我重寫了這里聽過的代碼public class Stack{    object[] data = new object[1];    public void Push(object obj) { data[0] = obj; }    public object Pop() { return data[0]; }}        Stack stack = new Stack();        stack.Push("abigale ff");        string s = (string)stack.Pop();         Console.WriteLine(s); // abigale ff為什么用10 in new object[10];而不是1或100 in為何在數(shù)據(jù)位置使用增量?我不了解數(shù)據(jù)位置的工作原理。{ data[position++] = obj; }以及 { return data[--position]; }它如何工作而沒有循環(huán)?我嘗試在彈出之前推送2個(gè)值,然后在彈出之前寫入它,但它僅顯示第二個(gè)值
查看完整描述

1 回答

?
MMMHUHU

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊

忽略此堆棧類的所有問題,您的重構(gòu)顯然會破壞它。正如評論所暗示的那樣,您缺少的關(guān)鍵信息實(shí)際上是++and--運(yùn)算符所做的,這似乎使您相信該position字段是多余的。


++運(yùn)算符(C#參考)


增量運(yùn)算符(++)將其操作數(shù)加1。增量運(yùn)算符可以出現(xiàn)在其操作數(shù)之前或之后:++ variable和variable ++。


評論


第一種形式是前綴遞增操作。運(yùn)算的結(jié)果是將操作數(shù)遞增后的值。


第二種形式是后綴遞增操作。運(yùn)算的結(jié)果是操作數(shù)在增加之前的值


public class Stack

{

    int position;

    object[] data = new object[10]; // Why 10 nor 1? 

    public void Push (object obj) { data[position++] = obj; }

    public object Pop() { return data[--position]; }

}

例如


當(dāng)您調(diào)用Push它時(shí),它將值從data數(shù)組中移出,position然后遞增position


當(dāng)您調(diào)用Pop它減量position時(shí),將值從data數(shù)組中取出position


增量頁面上還有一個(gè)很好的小例子,向您展示了它是如何工作的


class MainClass

{

    static void Main()

    {

        double x;

        x = 1.5;

        Console.WriteLine(++x);

        x = 1.5;

        Console.WriteLine(x++);

        Console.WriteLine(x);

    }

}

輸出


2.5

1.5

2.5

*/


查看完整回答
反對 回復(fù) 2021-04-17
  • 1 回答
  • 0 關(guān)注
  • 150 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號