ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 배열리스트 c++
    자료구조 2020. 1. 17. 16:20
    #include<iostream>
    using namespace std;
    
    #define MAX_LIST_SIZE 100
    typedef int element;
    
    typedef struct {
    	element list[MAX_LIST_SIZE];
    	int length;
    }Array;
    void error(char *message)
    {
    	cout << message;
    	exit(1);
    }
    void print(Array *L)
    {
    	L->length = 0;
    }
    int is_empty(Array *L)
    {
    	return L->length == 0;
    }
    int is_full(Array *L)
    {
    	return L->length == MAX_LIST_SIZE;
    }
    void display(Array *L)
    {
    	int i;
    	for (i = 0; i < L->length; i++)
    	{
    		cout << L->list[i];
    	}
    }
    void add(Array *L, int position, element item)
    {
    	if (!is_full(L) && position >= 0 && position <= L->length)
    	{
    		int i;
    		for (i = (L->length - 1); i >= position; i--)//가장 마지막 리스트값부터 ;삽입할 위치까지
    		{
    			L->list[i + 1] = L->list[i];
    		}
    		L->list[position] = item;
    		L->length++;
    	}
    }
    void deletes(Array *L, int position)
    {
    	element item;
    	if (position < 0 || position >= L->length)
    	{
    		error("위치오류");
    	}
    	else
    		item = L->list[position];
    	for (int i = position; i < L->length-1; i++)
    	{
    		L->list[i] = L->list[i+1];
    	}
    	L->length--;
    
    }
    int main()
    {
    	Array a;
    	print(&a);
    	add(&a, 0, 10);
    	add(&a, 1, 20);
    	deletes(&a, 0);
    	display(&a);
    }
    

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

    연결리스트  (0) 2020.01.27
    ADT(abstract data type)  (0) 2020.01.16
    메모리 관리  (0) 2019.12.29
      (0) 2019.12.22
    stack - 데이터 처리 방식  (0) 2019.12.22
Designed by Tistory.