天天看點

C++_自定義資料類型

文章目錄

    • 結構體的定義和使用
    • 共用體類型
    • 枚舉類型
    • 自定義資料類型的應用-連結清單
      • 連結清單的概念和分類
      • 連結清單的運算
        • 周遊
        • 查找
        • 插入
      • 連結清單執行個體

結構體的定義和使用

C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型

隻能一個成員一個成員進行指派。

C++_自定義資料類型
C++_自定義資料類型

對整個結構體對象可以進行指派運算。

C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型

指針法需注意。

C++_自定義資料類型
C++_自定義資料類型

是一個值傳遞的過程。

C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型

共用體類型

共享存儲空間。

C++_自定義資料類型
C++_自定義資料類型

以占位元組數最多的對象為公用空間。

C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型

枚舉類型

C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型

自定義資料類型的應用-連結清單

連結清單的概念和分類

C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型

new之後的空間要delete。

C++_自定義資料類型

連結清單的運算

周遊

C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型

查找

C++_自定義資料類型
C++_自定義資料類型
C++_自定義資料類型

插入

C++_自定義資料類型
C++_自定義資料類型

連結清單執行個體

#include <iostream>
using namespace std;
typedef int datatype;
struct Node{
    datatype data;
    Node *next;
    Node *prev;
};
void initial(Node *header,Node *tailer,int length){
    int i;
    Node *L = header;
    for(i=0;i<length;i++){
        Node *s;
        s = new Node;
        L -> next = s;
        s -> data = i;
        s -> prev = L;
        s -> next = tailer;
        L = s;
    }
    tailer -> prev = L;
}
void output(Node s){
    if (s.prev == NULL) s = *(s.next);
    if (s.next == NULL) cout << "NULL";
    while(s.next != NULL){
        cout << s.data << endl;
        s = *(s.next);
    }
}
void destroy(Node *header,Node *tailer){
    Node *s = header -> next,*t;
    while(s -> next != NULL){
        t = s -> next;
        delete s;
        s = t;
    }
    header -> next = NULL;
    tailer -> prev = NULL;
}
int main(){
    Node header,tailer;
    header.data = NULL,tailer.data = NULL,header.prev = NULL,tailer.prev = &header,header.next = &tailer,tailer.next = NULL;
    initial(&header, &tailer, 10);
    output(header);
    destroy(&header,&tailer);
}

           
c++

繼續閱讀