데이터구조 35

[데이터구조]스택 stack

1. 개요 ⓐ 삽입.삭제가 이뤄지는 곳은 맨 끝부분이다. ⓑ LIFO(Last in, First Out), 후입선출 2. 주요작업 > create, destory, push(삽입), pop(삭제or삭제하면서 top의 값을 리턴), gettop(맨위출력)... 3. 종류 ⓐ 배열 스택 ex ) #define Max 100 typedef struct{ int Top; int Stack[Max]; }stackType; void push(stackType *Sptr,int item){ Sptr -> stack[top++] = item; } void Init(stackType *sptr) // 스택 함수 초기화 , top의 값을 0으로 지정 ※Top 값의 초기값 ⓐ top의 초기 값이 -1 일때 : 현재까지 들어..

[c언어]리스트 추가 내용

1. 포인터 리스트의 delete 다른 페이지에서 설명한 position을 받아서 그 위치의 리스트를 없에는 것이 아니라, value를 받아서 그 값을 리스트에서 없에는 것을 알아보자. ex ) void delete(int item){ temp = Lptr -> head; while((temp!=NULL)&&(Temp->Data!=item)) // 삭제해야 될 위치 직전을 가르킨다.(핵심) temp = temp -> next; ....//포인터 리스트에서 리스트 삭제 부분과 동일 생략. } 2. 이중 연결리스트 노드가 자신 이전과 이후의 값을 가르킨다. 따라서, 중간에 노드를 추가하기 위해서는 temp를 2번 사용하여 연결을 시킬 수 있다. 3. 원형연결리스트 마지막 노드가 head노드를 가르켜 계속 회..

리스트(배열리스트, 포인터리스트(Linked list), 혼합리스트)

* 리스트 작업 ① create > 리스트 만들기 ② insert > 위치를 지정하고 데이터 넣기 ③ delete > 데이터 지우기 ④ retrieve > 데이터 읽어오기 * 리스트 종류 1. 배열 리스트 ① 카운트 변수 > 현재 자기가 사용하는 자료 공간(연산의 효율을 올리기 위해서) ② 데이터 배열 > 충분히 쓸 수 있는 배열 선언 ③ 카운트 + 데이터 구조체 ex ) typedef struct{ int count; int Data[Max]; }listType; void insert(listType *Lptr, int position, int *itemptr); >배열번호 >Data값 void delete(listType *Lptr, int positon); void Retrieve(listType ..