C++ 單鏈表 基礎實現


(編譯器Microsoft Visual Studio)

頭文件

  Linklist.h   

    

#pragma once
/*
鏈表頭文件 
定義方法屬性
*/
class Linklist
{
private:
    void Initialize();
public:
    Linklist();
    ~Linklist();
    Linklist* Next();
    void Add(int i);
public:
    Linklist * next;
    int i;
    int length;

};

 

   pch.h

      

// 入門提示: 
//   1. 使用解決方案資源管理器窗口添加/管理文件
//   2. 使用團隊資源管理器窗口連接到源代碼管理
//   3. 使用輸出窗口查看生成輸出和其他消息
//   4. 使用錯誤列表窗口查看錯誤
//   5. 轉到“項目”>“添加新項”以創建新的代碼文件,或轉到“項目”>“添加現有項”以將現有代碼文件添加到項目
//   6. 將來,若要再次打開此項目,請轉到“文件”>“打開”>“項目”並選擇 .sln 文件

#ifndef PCH_H
#define PCH_H

// TODO: 添加要在此處預編譯的標頭
#include "Linklist.h"
#include <iostream>

#endif //PCH_H

  鏈表的類

#include "pch.h"
/*
鏈表的類文件
實現頭文件中的方法
*/

//初始化
void Linklist::Initialize()
{
    i = 0;
    next = NULL;
    length = 0;
    return;
}

//初始化
Linklist::Linklist()
{
    Initialize();
}

//初始化
Linklist::~Linklist()
{
    Initialize();
}

//獲取下一個類
Linklist* Linklist::Next()
{
    return next;
}

//添加類
void Linklist::Add(int i)
{
    //新建一個空間
    Linklist *list = new Linklist();
    //賦值
    list->i = i;
    //設定指針
    list->next = next;
    //重新規划指針
    next = list;
    //長度增加
    ++length;
    return;
}

Demo01

// Demo01.cpp : 此文件包含 "main" 函數。程序執行將在此處開始並結束。
//

#include "pch.h"
using namespace std;

void Nextlist(Linklist *list);

int main()
{
    //創建一個鏈表
    Linklist list;

    //定義int i用於循環
    int i =0;
    for (; i < 10; i++)
    {
        //向鏈表中添加數據
        list.Add(i);
    }

    //獲取當前鏈表
    Linklist *_list = list.next;

    //遍歷查找所有的值
    while(_list != NULL)
    {
        printf("%d-------bbbbbbbbbbbbbbbbbbbbb\r\n", _list->i);
        _list = _list->next;
    }
    //Nextlist(list.next);
    return 0;
}

void Nextlist(Linklist *list) {

    printf("%d-------bbbbbbbbbbbbbbbbbbbbb\r\n", list->i);
    if (list->Next() == NULL) {
        return;
    }
    Nextlist(list->next);
}


// 運行程序: Ctrl + F5 或調試 >“開始執行(不調試)”菜單
// 調試程序: F5 或調試 >“開始調試”菜單

// 入門提示: 
//   1. 使用解決方案資源管理器窗口添加/管理文件
//   2. 使用團隊資源管理器窗口連接到源代碼管理
//   3. 使用輸出窗口查看生成輸出和其他消息
//   4. 使用錯誤列表窗口查看錯誤
//   5. 轉到“項目”>“添加新項”以創建新的代碼文件,或轉到“項目”>“添加現有項”以將現有代碼文件添加到項目
//   6. 將來,若要再次打開此項目,請轉到“文件”>“打開”>“項目”並選擇 .sln 文件

輸出結果

 

9-------bbbbbbbbbbbbbbbbbbbbb
8-------bbbbbbbbbbbbbbbbbbbbb
7-------bbbbbbbbbbbbbbbbbbbbb
6-------bbbbbbbbbbbbbbbbbbbbb
5-------bbbbbbbbbbbbbbbbbbbbb
4-------bbbbbbbbbbbbbbbbbbbbb
3-------bbbbbbbbbbbbbbbbbbbbb
2-------bbbbbbbbbbbbbbbbbbbbb
1-------bbbbbbbbbbbbbbbbbbbbb
0-------bbbbbbbbbbbbbbbbbbbbb

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM