資料結構演算法問題(引數傳遞)。

發布 科技 2024-03-22
13個回答
  1. 匿名使用者2024-02-07

    這是佇列操作的問題。 (實際上,您應該給出佇列操作函式的定義。 但我很聰明。 嘿。 你不必付出。 )

    讓我們從這些函式開始。

    initqueue 是初始化佇列。

    enqueue 是佇列函式,第乙個引數是佇列,第二個引數是佇列元素。

    dequeue 是 dequeue 函式,第乙個引數是佇列,第二個引數是儲存在 dequeue 元素中的變數。

    好了,現在讓我們一句一句地開始。

    queue q;

    initqueue(q);佇列已初始化,它仍應為空佇列。

    char x=‘e’,y=‘c’;

    enqueue(q,‘h');//'h'輸入隊列為 h 的佇列

    enqueue(q,‘r');//'r'輸入佇列,隊列為 hr

    enqueue(q,y);Y 進入佇列,隊列為 HRC

    dequeue(q,x);在佇列之外,x 是 h,佇列是 rc

    enqueue(q,x);X 進入佇列,隊列為 RCH

    dequeue(q,x);在佇列之外,x 是 r,佇列是 ch

    enqueue(q,‘a');//'a'進入佇列,佇列是cha

    while(!queueempty(q)){ 這個 while 迴圈是輸出佇列的操作。 結果是在螢幕上列印出 CHA

    dequeue(q,y);

    printf(y);

    printf(x);輸出 x。 通過最後一次出列操作得到的 x 是'r',所以這句話在螢幕上列印乙個 R

    所以。。 如果你什麼都不懂,你可以問我。 嘿。

  2. 匿名使用者2024-02-06

    標題中的字母是否正確??

  3. 匿名使用者2024-02-05

    public class practise elsek++;

    k++] 引數 a 為:"+a+",變數 k:"+k);

    aa(a - 1);}

    public static void main(string args)

    執行結果:紅色標記的部分是房東**中A的印刷; 】

    從其餘的列印語句中,可以清楚地看出為什麼它是 23245 的結果。

  4. 匿名使用者2024-02-04

    函式中的&引數是別名引用的含義,目的是將引數的別名傳遞給引數,以便可以使用引數傳遞所需的值。

    例如:voidfun1(int a)。

    a ++void fun2(int &a)

    a++;現在有以下語句:

    int a = 10;

    呼叫 fun1 --fun1(a); printf("a = %d", a);結果:a = 10;

    原因是函式完成後引數釋放,所以 a 仍然等於 10

    呼叫 fun2 --fun2(a); printf("a = %d", a);結果:a = 11;

    原因是由於傳遞了對引數的引用,別名,所以函式完成後,引數被修改,所以 a 應該等於 11

  5. 匿名使用者2024-02-03

    引用是一種復合型別,由變數前的 & 定義,在這種情況下,每個引用型別都與某種其他型別相關聯。 不能定義引用的引用型別,但可以有任何其他型別的引用。

    int ival=1024;

    int &refval=ival;事實上,作用於 reval 的操作都位於引用繫結的物件上。

  6. 匿名使用者2024-02-02

    就像指標一樣,它是乙個位址。

  7. 匿名使用者2024-02-01

    閆偉民的書使用變數的引用作為函式引數,使用C++的概念,如果使用純C,應該改為指標實現。

  8. 匿名使用者2024-01-31

    作為乙個概念,只需記住這些,不需要問。 因為那個時候,符號是在定義的時候選擇的,就像@字元一樣,當你看到它時,它與電子郵件相關聯,它只是沒有意義,你必須在輸入電子郵件時輸入它。

  9. 匿名使用者2024-01-30

    取消排隊排隊對應於乙個佇列,該佇列是乙個先進先出的線性表。

    Push pop 對應堆疊,是先進先出的線性表。

  10. 匿名使用者2024-01-29

    佇列(先進先出)和堆疊(後進先出)之間的區別。

  11. 匿名使用者2024-01-28

    (1) 顯式傳遞參數列中的引數意味著:

    void main()

    呼叫 pn() 函式,x 是參數列中的引數,通過全域性變數顯式傳遞 (2) 意味著現在在 main 函式之前宣告乙個全域性變數 int x;

    void main()

    呼叫 pn() 函式時,不需要傳遞引數,而是隱式修改全域性變數 x 的值。

    在 pn() 函式中,直接使用全域性變數 x,該變數已分配給 x0。

  12. 匿名使用者2024-01-27

    顯示交付是指。

    main()丹芝 {.}

    x=1;func(x);在func引數-滑移延遲平衡表中,很明顯x是作為引數傳遞的。

    相比之下,隱式傳遞。

    x=1main(){

    func();

    在這裡,全域性變數 x 直接在 func 中被引用

  13. 匿名使用者2024-01-26

    引用傳輸是將引數位址傳遞給函式,函式收到位址後,不會在堆疊上分配臨時記憶體空間來儲存位址,而是直接將其作為引數本身連線起來,如果引數包含有效資料,函式可以通過引用直接取出(讀取),或者給它賦值(寫入)。 如果將引數傳遞給函式稱為前向傳輸,則該函式返回可反向傳輸的資料。

    由於函式返回值是通過回棧傳遞的,並且編譯器約定,因此它一次只能是一段資料(值或物件陣列位址)。 很多時候我們會遇到乙個函式需要返回多個資料的問題,一種解決方法就是在堆上構建乙個結構體,使用該結構體返回多個資料,也可以使用引用傳遞,除了通過函式返回乙個資料外,我們還可以在函式引數中定義多個引用引數, 當外部**呼叫時,外部多個變數(實數引數)的位址以引用(正向傳遞)的形式傳遞給函式,並將資料傳遞給函式,當函式完成時,將結果分配給被引用的變數,並覆蓋實數引數(逆傳遞)。

相關回答
16個回答2024-03-22

只要 o(n) 掃瞄一次,數百萬個陣列並不大,而 c 可以為全域性變數開啟這麼大。 >>>More

8個回答2024-03-22

建立順序表如下:

通過陣列元素 a[0..n-1] 建立順序表 l。 a 中的每個元素都按順序放置在順序表中,n 被分配給順序表的長度字段。 演算法為: >>>More

5個回答2024-03-22

我想給大家介紹一下閆偉民的教材《資料結構》(C語言版),這是目前國內口碑較好的經典教材。 >>>More

9個回答2024-03-22

使用 byval 關鍵字指示引數是按值傳遞的,但你的第乙個引數是由 byref 寫的,byref 是按位址傳遞的,第二個引數是 nothing 寫的,預設情況下也是按位址傳遞的。

9個回答2024-03-22

雜湊表(也稱為雜湊表)是一種基於鍵值直接訪問的資料結構。 也就是說,它通過將鍵值對映到表中的位置來訪問記錄,以加快查詢速度。 此對映函式稱為雜湊函式,儲存記錄的陣列稱為雜湊表。 >>>More