[자료구조] LinkedList 구현 - 데이터 추가 / addFirst[Java]

2020. 4. 21. 22:57·자료구조 + 알고리즘

(cf. linkedlist ---head, tail, size, node)


addFirst를 구현해보자.

 

실행클래스

 

LinkedList파일 (라이브러리 클래스)

오타난걸 캡쳐했다.. 화살표가 가리키는 곳에 imput 아니고 input이다.

 

가장 먼저 input을 받아서 노드 객체를 생성해야 하므로

Node newNode = new Node(input);

>>만들어 놓은 Node 클래스를 객체화한 것이다! "노드 객체를 생성"

addFirst()가 호출 될 때마다 새로운 노드를 만든다.

Node newNode = new Node(input);

이게 있으니까! ^-^ addFirst로 노드 객체를 만드는 거다.

 

 

Node 클래스의 생성자인 public Node(Object input) 부분에 input값이 들어갈 거고,

(자바: 객체의 생성과 동시에 인스턴스 변수를 원하는 값으로 초기화할 수 있는 생성자(constructor) 라는 메소드를 제공한다.)

그에따라 data변수에 input값이, next에 null이 들어간다.

 

>>numbers.addFirst(30); 면

30이라는 data값을 가지는 Node 객체를 생성한 것임.

 

 

 

 

생성자란? (더보기)

더보기
클래스 이름과 생성자 이름은 동일하다. 약속이다.

 출처: http://blog.naver.com/PostView.nhn?blogId=heartflow89&logNo=220955262405

 

출처: https://opentutorials.org/module/2495/14065

 

 

 

 

봅시다

addFirst가 호출되어서 인자 하나 들어오면

Node(클래스) 자료형으로 하는 객체 (=>노드 객체)를 new연산자를 통해서 생성한다

(이 객체는 힙 영역에 저장~.~ 혼공자 책에서 메모리 영역 공부하니까 이해가 된다)

newNode변수로 그 객체를 다룬다.

헤드에 newNode를 대입하고

size++(새로운 노드를 추가했으니까)

19줄: 새로운 노드가 추가되면, 그 노드 다음 값이 헤드를 가르키게 한다.

그리고 헤드에 새로운 노드를 대입한다.

그럼 원래 이전 헤드는 그냥 새로운 헤드의 다음 값이 되는 거다용

반응형

'자료구조 + 알고리즘' 카테고리의 다른 글

[자료구조] LinkedList 구현 - node API 구현하기 [JAVA]  (0) 2020.07.07
[자료구조] LinkedList 구현 - 데이터 추가 / addLast[Java]  (0) 2020.07.06
[자료구조] LinkedList 구현 - 객체생성[Java]  (0) 2020.04.21
[자료구조] Linked list 데이터 조회 [VisuAlgo.net]  (0) 2020.04.02
[자료구조] Linked list 데이터 삭제 [VisuAlgo.net]  (0) 2020.04.02
'자료구조 + 알고리즘' 카테고리의 다른 글
  • [자료구조] LinkedList 구현 - node API 구현하기 [JAVA]
  • [자료구조] LinkedList 구현 - 데이터 추가 / addLast[Java]
  • [자료구조] LinkedList 구현 - 객체생성[Java]
  • [자료구조] Linked list 데이터 조회 [VisuAlgo.net]
히어로맛쿠키
히어로맛쿠키
  • 히어로맛쿠키
    yeny_lab
    히어로맛쿠키
  • 전체
    오늘
    어제
    • 분류 전체보기 (389)
      • 미분류글 (32)
        • ㅇ (2)
      • JAVA (84)
        • Effective Java (1)
        • Application (21)
      • 컴퓨터구조 & OS (28)
      • 자료구조 + 알고리즘 (43)
      • Database (12)
      • 컴파일러 (10)
      • 수학 (33)
        • 미분방정식 (12)
      • 데이터분석과 머신러닝 (38)
      • 기타 (59)
      • yyeeennyy (25)
  • 공지사항

    • ^o^/♡
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
히어로맛쿠키
[자료구조] LinkedList 구현 - 데이터 추가 / addFirst[Java]

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.