C++12 연결리스트(Linked list) 링크드리스트 들어가기전 설명 대량의 데이터를 저장하는데 주로 배열을 이용한다 *배열의 장점과 단점* 장점) 구현이 간단, 빠름 단점) 먼저 크기가 고정되기때문에 유동적으로 크기가 늘어나거나 줄어들을 수 없다 중간에 새로운 데이터를 삽입하거나 삭제하기 위해서는 기존의 데이터를 이동하여야 한다 ex) a라는 배열이 있고 a[0] 과 a[1] 사이에 새로운 데이터를 넣으려면 a[1] 뒤의 값들이 한칸씩 밀리고 빈공간을 만들고 삽입한다 링크드리스트란? 링크드 리스트는 위 단점을 보완할 수 있는 자료구조이다. 각각의 원소가 포인터를 사용하여 다음 원소의 위치를 가리킨다. 포인터로 구현하기 때문에 새로운 데이터를 중간에 삽입하거나 삭제할 때 기존의 데이터의 이동이 필요 없다 . 장점 하나 더! ) 데이터를 저장할 .. 2022. 7. 26. 유효성 검사 (valid check) 유효성 검사란 ? 문자열을 파싱하기전에 파싱가능한 문자열인지 검사해주는 것 유효성 검사를 할 때는 따로 함수(int isValid();)로 빼주어서 그 함수에서 조건이 어긋날 때는 return 0; 최후의 조건까지 충족하면 return 1을 한다. 특히 id나 password검사 시 유용하다 예시 ) 2-5 글자이면서 대문자는 없어야 한다. 문자열이 이 조건에 맞는지 확인하라 2022. 7. 26. string class 무엇인가 C언어, C++ 문자열의 불편한 점 1. 문자열을 char배열에 넣어야한다. 2. 문자열끼리 바로 비교가 불가능 하고 꼭 strcmp를 사용해야한다. 3. 문자열끼리 바로 복사가 불가능 하고 꼭 strcpy를 사용해야한다. string class 란? #include string Class의 추가 기능들이 들어가게 된다. 1. 위의 불편한점들이 해소된다. (1) char 배열 사용안해도 됨 (2) strcmp 사용안해도 된다 2. int형처럼 사용이 가능하다. ex ) 문자열을 출력할 때 for문을 돌려 해당 index를 하나씩 출력하는 것이 아니라 바로 출력이 가능하다. 여기서 잠깐 용어정리! 필드 : class 또는 struct안에 있는 변수 메서드 : class 또는 struct안에 있는 함수 인스.. 2022. 7. 15. 무한 재귀 호출(1) - 재귀호출 정의, 무한재귀호출 막는 방법 2가지 재귀호출이란? 일일히 설정할 다중for문이 많이 필요할 경우 재귀호출을 통해 구현할 수 있다. 무한재귀호촐은 이러한 재귀호출이 무한으로 일어나는 것을 말한다. 느리다는 단점이 있으므로 필요할 때 사용하기로 한다. ex) abc 함수를 무한 호출할 때 * 호출스택을 이용하여 확인하는것도 좋다. 무한재귀호출을 막는법? 특정 조건에서 return; 한다. return을 하게 되면 호출한 장소 다음부터 읽게 된다. ( 트레이스로 확인해보며 감을 익히는게 중요) 1. 전역변수를 쓰는 방법. 2. argument를 활용한다. *argument란? ex) abc ( 3, 4, 6 ) argument로 3, 4, 6을 보낸다라고 말한다. 2022. 7. 3. 이전 1 2 3 다음