陣列通過 C 堆疊輸出的順序發生了變化

發布 科技 2024-04-08
10個回答
  1. 匿名使用者2024-02-07

    堆是像二叉樹一樣組織的元素序列。 每個堆元素對應乙個樹節點。 第乙個值順序 [first.

    finally) 在根目錄中,謂詞按順序排序。例如,如果謂詞較大,則堆中的每個元素都滿足以下條件; 並且每個元素都大於或等於父元素。 最小的元素儲存在根目錄中,所有子元素都以逐漸較大的值儲存。

    make heap 函式將 [最後乙個範圍首先] 轉換為堆。

    排序堆函式是使用 make heap 函式建立的,用於排序"堆積。

    推送堆函式在堆中插入乙個新值。

    pop 堆函式由 [first, last] 交換,指定堆中的第乙個和最後乙個元素,然後減少上乙個還原堆屬性序列的長度。

    例如,數字

    之後,呼叫 make heap

    numbers

    之後,呼叫排序堆

    numbers

    之後,呼叫 push heap()

    numbers

    之後,pop 堆被呼叫

    numbers

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

    你把問題說得更清楚嗎? 我不明白你的意思? make heap,push heap的原始碼?

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

    你把陣列的下標儲存到乙個臨時陣列中,在對原有陣列進行排序的同時,也對臨時陣列進行同樣的交換,當目標陣列排序時,你的下標陣列自然會被安排好。 如果你需要**+20分,我會寫給你,這是最簡單的方法。

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

    我遲到了,雨落在深山裡是一種簡單易用的方法。

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

    雨水落入深山非常有用。

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

    這取決於您擁有的數字和陣列元素的數量。

    如果數字不是太大,並且陣列沒有很多元素,則可以使用移位計算。

    如果陣列元素很大或具有多個元素,請使用二維陣列或結構。

    二維陣列的第一行是原始陣列,第二行是有序數。

    例如,a[2][n] 的陣列,其中 a[0] 是原始陣列 a[1] 的編號。

    當我交換時,我想要它。

    int ntemp;

    for (int i=0;ia[0][j])

    排列完後,可以輸出a[1],上面的排序只是為了說明也可以切換到更快的方法。

    結構相同,有兩個元素,乙個是數值,另乙個是數字。

    原理很簡單,基本和上面一樣,就不多說了)

    但是,在 C++ 中,如果 32 位計算機的 int 為 4 個位元組,則大多數數字不會超過大小,因此您可能需要此值。

    您的陣列是 int na[n]; 乙個不超過 256 個元素的陣列,元素的數值大小不超過 2 23

    或不超過 65,536 個元素,值介於 -32767 和 32768 之間。

    為了方便起見,我只說不超過256個元素,元素的數值大小不大於2 23,而後者和這個一樣,你可以直接改變它(0=-2 23可以這樣)。

    注意:此方法不支援重複數字的隨機輸出,也就是說,如果您有兩個相同的數字,則第乙個將始終排在第一位。

    for(int i=0;ina[j])

    然後是輸出,你可以做(只有最後 8 位)。

    for(int i=0;ICOUT<<(NA[i]&0xff)

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

    鏈堆以相反的順序輸出兩個迴圈就可以了。

    #ifndef stack_h_

    #define stack_h_

    const int null=0;

    enum error_code ;

    template

    struct node

    template

    node::node()

    template

    node::node(t item,node*add_on)template

    class stack

    template

    stack::stack()

    template

    stack::~stack()

    template

    stack::stack(stack &item)else

    topnode=newtop;

    template

    error_code stack::push(t item)template

    error_code stack::pop()template

    template

    bool stack::empty()

    #endif

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

    for(i = 7;i >= 0;i--) 沒有任何其他變數定義。

    你也可以根據你的想法定義乙個j

    int j;

    for(i = 7,j = 8;i >= 0;i--)for(i = j; i >=0; i --b[i] = a[i];

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

    明明可以直接填num,為什麼要折騰這個?。。。

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

    修改如上!

    while迴圈有點問題,new之後需要刪除,main需要返回。 基本上就是這樣......

相關回答
6個回答2024-04-08

namespace c__ces

class program >>>More

4個回答2024-04-08

#include

main() >>>More

8個回答2024-04-08

二維陣列位址 - >行位址 - >列位址(變數位址) - >變數值,或為您摘錄描述。 >>>More

6個回答2024-04-08

#include

using namespace std; >>>More