본문 바로가기

Data Structure

(5)
Data Structure - ② Linked List 요번에는 소스코드를 한번.. 분석을 해보겠습니다.. -_-;; 제꺼라서 잘 설명할 자신이 있어요.. -_-;; 아래 포스팅한 글에서 보셨듯이 기본적으로 가지고 있어야할 멤버 변수들로는 리스트의 길이와.. 첫 노드가 무엇인지에 대한 정보를 담고 있는 firstNode 라는 객체가 있습니다. 그럼 노드가 무엇이고 어디다 쓰느냐?? 요것이 리스트의 Inner Class (내부 클래스) 로 삽입이 되어있는 Node 클래스 입니다. 물론 이 클래스를 따로 빼두어도 됩니다만.. 저는 내부 클래스로 사용을 했습니다. 접근 제어자는 모두 private.. 이게 왜 링크 기반의 리스트인지를 절실히 알려주는 부분이 바로 저!!! 부분입니다!! 4번째줄의 private Node next; 이부분이죠.. 노드라는 객체는 항상..
Data Structure - Array-based List ② 그러면.. 아까 예제로 만들었던 방학계획표를 방금 만든 따끈한 배열을 기본으로한 List 자료구조를 사용하여 표현을 해보도록 하겠습니다 :) 우후훗.. 테스트코드는 다음과 같습니다. package List.TestCode; import List.ArrayBasedList.ArrayBasedList; public class VacationToDoList { public static void main(String[] args) { ArrayBasedList vacationToDoList = new ArrayBasedList(); vacationToDoList.add(new String("자바 공부")); vacationToDoList.add(new String("모자란 수면 욕구 해소")); vacation..
Data Structure - Array-based List ① 인터페이스를 만드는거 까지는 좋은데... -_-;; 어디다 자료를 담는다는 말입니까...;;; 그래서 생각해 보니까.. 아!! 그게 있었군요 :) 바로.. 배열입니다. (Array) 배열은 한 객체 안에 여러개의 객체들을 담을 수 있었잖아요? 그럼 그렇게 배열을 이용하여 코딩을 하면 되겠군요... 'ㅡ' ㅋㅋㅋ 생각보다 단순하네요... 헉.. 그런데 생각해보니까.. 배열이라는 녀석은 하나 생각할게 있었습니다. 이 배열의 크기인데요.. 배열의 크기가.. -_-;; 일정하기 때문에 입력될 자료에 따라서 크기를 잘 지정을 해줘야 겠군요.. 고로 확장성에 제약이 좀 있었습니다. 여튼간에.. 이 배열을 사용해서 만들어 보도록 하겠습니다 :) 열심히 뻘짓한 결과입니다 -_- 가여히 봐주세효.. 무려 3시간이 걸렸습..
Data Structure - List Interface 이전에 작성했던 리스트에 반영되어야할 요소들을 고려하여 만든 리스트 인터페이스가 작성되었습니다. 이해를 돕기 위해서 'ㅡ'... 주석처리도 깔끔하게 해봤습니다 ^ㅡ');; 맘에 드실지는 모르겠지만요 ㅠㅠ package List.ListInterface; public interface ListInterface { /** * 새로운 요소를 추가 시킵니다. * * @param newEntry * 새로 추가 시키게 될 요소 */ public void add(T newEntry); /** * 새로운 요소를 특정 위치에 추가 시킵니다. * * @param position * 리스트의 특정 위치 인덱스 * @param newEntry * 새로 추가 시키게 될 요소 */ public void add(int positi..
Data Structure - Lists 자료구조를 시작하면서 가장 먼저 등장하게 되는건.. List 라는 자료구조입니다. 말처럼 쉽게 생각하시면 됩니다. List는 그냥 목록.. 정도로 생각하시면 되겠네요.. 보통 우리가 방학계획이나.. 일과 계획표를 세울때 번호를 매기면서 순서대로 해야할 일들에 대해서 열거를 하고는 합니다. 이런 방학 계획표가 있다고 생각을 해봅시다 'ㅅ';;; 방학때 해야할 공부 목록 1. 자바 공부 2. 모자란 수면 욕구 해소 3. 아르바이트 하기.. ㅠㅠ 4. 소설책 하나 읽기 5. C 프로그래밍 공부하기 6. 영어 공부 7. 한자 공부 8. 취업 준비 9. 배낭 여행 가기 .. 이런식으로 만들어 놨다고 가정을 합시다... 물론 이런 일들을 적는 방법에 대해서 생각해 봐야 합니다. 순서대로 적어 나가야 되고.. 지울것..