목록CS (5)
치악산 복숭아
1. &: Reference operator 변수의 메모리 주소 값 메모리 주소는 컴퓨터를 실행할 때마다 바뀜 2. *: Dereference operator 포인터가 가리키는 메모리 주소에 저장된 값을 반환 3. Pointers C 프로그램에서 메모리에 접근, 주소를 조작하기 위해 사용됨 데이터보다는 메모리 주소값을 갖고있는 특별한 변수 타입 이러한 변수들을 pointer variable 또는 간단하게 pointer 라고 칭함 // *를 어디에 붙이던 같은 뜻 int* pval; int * pval; char *pch; data_type* variable_name; main() { int a; int *b; a = 38; // (O) b = 40; // (X), 포인터로 선언했기 때문에 정수X, 주소값..
1. vi 시작하기 vi filename filename의 이름을 가진 파일이 존재한다면 open, 없다면 create 한다 리눅스, 유닉스에는 확장자라는 개념이 없음(r w x 개념만 있다) 2. vi 실행모드의 종류 (1) Command mode (명령 모드) 문자열을 검색할 수 있다 에디팅 모드에서 esc키를 눌러서 커맨드 모드로 진입할 수 있다 (2) Editing mode (수정 모드) 문자를 삽입, 수정할 수 있다 커맨드 모드에서 `a`(append), `i`(insert) 문자를 입력해서 에디팅 모드로 진입할 수 있다 3. vi 커맨드 모드에서의 명령어 (1) vi 종료하기 :q 에디터 종료 :q! 파일의 변경사항을 저장하지 않고 종료 ( ↔️ :wq) :q의 경우변경사항이 있는데 이 명령어..
삽입 정렬 배열을 정렬된 부분과 정렬이 안된 부분으로 나눈다. 정렬이 안 된 부분의 첫 번째 요소를 정렬된 부분의 적절한 위치에 삽입하여 정렬하는 과정을 반복한다. 수행 방법 정렬은 배열의 두번째 인덱스부터 시작한다. 현재 위치의 요소값을 저장해놓은 뒤 왼쪽의 요소값과 비교하면서 삽입한다. 수행 시간: O(n^2) Best: 1+1+1+…(n-1): θ(n) Average: θ(n^2) Worst: 1+2+…+(n-1): θ(n^2) 특징 값들이 거의 정렬되어 있을때 빠르게 실행 추가 공간 불필요 입력 크기가 크지 않고 거의 정렬되어 있을 때 적절 코드 구현 더보기 public class Sort { public void insertionSort(int[] a) { int i, j, temp; for (..
버블 정렬 첫 번째 원소부터 인접한 원소끼리 계속 자리를 교환하면서 맨 마지막 자리로 이동하는 모습이 물 속에서 물 위로 올라오는 물방울 모양과 같다고 하여 버블(bubble) 정렬이라고 함 수행 방법 인접한 두 개의 원소를 비교하여 자리를 교환하는 방식 첫 번째 원소부터 마지막 원소까지 반복하여 한 단계가 끝나면 가장 큰 원소가 마지막 자리로 정렬됨 수행 시간: θ(n^2) 첫 for 루프는 n-1번 반복 두번째 for 루프는 각각 i-1, i-2, …, 2, 1번 반복 원소 교환은 상수 시간 작업 코드 구현 더보기 public class Sort { public void bubbleSort(int[] a) { int size = a.length; for (int i = size - 1; i > 0; ..