|자료구조| 1 | LinkedList_1 | 연결리스트(더미노드 없음)

2022. 3. 13. 14:43·PS/자료구조
no title

연결리스트 구현

Visual Studio 솔루션 구성


구현부

헤더 : CrocusLinkedList.h

#pragma once
class CrocusLinkedList
{
private :
	int m_data = 0;
	CrocusLinkedList* next;

public :
	CrocusLinkedList();
	void SetData(int _data);
	int GetData();
	void Linking(CrocusLinkedList* _Node1);
	void SearchAll(CrocusLinkedList* head);
};

메소드 : CrocusLinkedList.cpp

#define _CRTDBG_MAP_ALLOC
#include "CrocusLinkedList.h"
#include <iostream>
#include <crtdbg.h>
using namespace std;
CrocusLinkedList::CrocusLinkedList() {
	this->next = nullptr;
}
void CrocusLinkedList::SetData(int _data) {
	m_data = _data;
}
int CrocusLinkedList::GetData() {
	return m_data;
}
void CrocusLinkedList::Linking(CrocusLinkedList* _Node) {
	next = _Node;
}
void CrocusLinkedList::SearchAll(CrocusLinkedList* head) {
	CrocusLinkedList* pos = head;
	while (pos->next != nullptr) {
		cout << pos->m_data << "\n";
		pos = pos->next;
	}
}

적용부

main.cpp

#include <iostream>
#include <algorithm>
#include <limits>
#include "CrocusLinkedList.h"
using namespace std;
/*
* D:\강의\마크다운\개인공부\알고리즘\연결리스트 자료구조
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\include
*/
int main() {
	CrocusLinkedList* head = nullptr;
	CrocusLinkedList* cur = nullptr;
	CrocusLinkedList* tail = nullptr;
	
	CrocusLinkedList Node;
	
	printf("-------------------------------\n1. Setdata(101)\n");
	Node.SetData(101);

	printf("-------------------------------\n2. Getdata\n");
	cout << Node.GetData() << '\n';
	
	int inputArr[10] = { 123,53,26,11,36,2,5,77, 12,90 };
	int N = 10;

	printf("-------------------------------\n3. Linking\n");
	while (N-- > 0) {
		CrocusLinkedList* newNode = nullptr;
		newNode = new CrocusLinkedList;
		newNode->SetData(inputArr[N]);

		printf("Setdata(%d)\n", inputArr[N]);
		if (head == nullptr) { head = newNode; }
		else { 
			tail->Linking(newNode); 
		}
		tail = newNode;
	}

	printf("-------------------------------\n4. SearchAll\n");
	head->SearchAll(head);
	cout << '\n';

	_CrtDumpMemoryLeaks();

	return 0;
}

결과

저작자표시 (새창열림)

'PS > 자료구조' 카테고리의 다른 글

|자료구조| 3 | BinSearchTree | 이진 탐색 트리  (0) 2022.03.13
| 니앙팽이 - 자료구조| 2 | 스택,큐 노트  (0) 2022.03.13
| 니앙팽이 - 자료구조| 1 | 연결 리스트 노트  (0) 2022.03.13
|자료구조| 1 | Double LinkedList_3 | 이중 연결 리스트  (0) 2022.03.13
|자료구조| 1 | Circular LinkedList_2 | 원형 연결 리스트  (0) 2022.03.13
'PS/자료구조' 카테고리의 다른 글
  • | 니앙팽이 - 자료구조| 2 | 스택,큐 노트
  • | 니앙팽이 - 자료구조| 1 | 연결 리스트 노트
  • |자료구조| 1 | Double LinkedList_3 | 이중 연결 리스트
  • |자료구조| 1 | Circular LinkedList_2 | 원형 연결 리스트
니앙팽이
니앙팽이
  • 니앙팽이
    니앙팽이 블로그
    니앙팽이
  • 전체
    오늘
    어제
    • 분류 전체보기 (126)
      • 그림그리기 (7)
      • 음악 (4)
        • FL Studio & MIDI (2)
        • 자작곡 (2)
      • 게임 (7)
        • 모바일 (0)
        • 스팀 (0)
        • 닌텐도 (0)
        • 개발 (7)
      • CS (44)
        • SW 공학 (27)
        • DB (7)
        • OS (9)
        • 네트워크 (1)
      • 팁 (9)
      • Language (21)
        • C# (8)
        • C&C++ (3)
        • 파이썬 메모 (3)
        • Javascript (7)
      • PS (0)
        • 알고리즘 (24)
        • 자료구조 (8)
        • 수학 (1)
        • 선형대수 (0)
        • 오토마타 (1)
        • 이산수학 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Javascript
    가비지 콜렉터
    프로그래머스
    클립 스튜디오
    객체지향개발
    파이썬
    노마드 코더
    유니티
    프로세스
    c#
    자료구조
    Stack
    디자인패턴
    그림 연습
    연결리스트
    unity
    따라그리기
    KAKAO
    알고리즘
    clip studio paint
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
니앙팽이
|자료구조| 1 | LinkedList_1 | 연결리스트(더미노드 없음)
상단으로

티스토리툴바