3월, 2020의 게시물 표시

C++ string 클래스 정리글 링크

https://blockdmask.tistory.com/338 위 블로그가 정리가 잘되어 있어서 올림. 링크가서 보시고 다른 글들도 좋으니 보세요~

Selection Sort with C

수업 중 selection sort를 C로 구현하는 게 있어 업로드 합니다? 한다? 매번 C++ 을 쓰다가 C를 쓰니 문법이 기억날랑말랑 했다. 하지만 멀록은 내가 가장 좋아하는 명령어라서 기억이 났다. Selection sort 과정 Selection sort은 정렬 기법 중에 하나로 구현은 쉽지만 시간복잡도가 크다. 오래 걸린다는 뜻이다. Selection sort의 구현방법은 다음과 같다. (오름차순 기준) 1. N개의 숫자가 무작위로 있다고 가정할 때, 각각 1번, 2번 ... N-1번, N번 이라고 생각해보자. 2. index를 1로 초기화한다 3. index번 ~ N번까지 중 가장 작은 수를 찾는다. 4. 젤 작은 것을 찾아 index 위치의 수와 자리를 바꾼다. 5. index++을 해준 뒤 2,3 번을 index가 N이 될 때까지 해준다. 대강 { 1, 5, 3, 6, 4, 2, 7, 9, 8, 6 } 이 있다고 가정하면 결과는 { 1, 2, 3, 4, 5, 6, 7, 8, 9 } 가 되는 것이다.(정렬이니 당연하다) 시간복잡도 정리 첫 번째 자리의 수를 찾기위해 N번의 탐색, 두 번째 자리의 수를 찾기위해 N-1번의 탐색, 세 번째 자리의 수를 찾기위해 N-2번의 탐색 ... ... ... N-1 번째 자리의 수를 찾기위해 2번의 탐색, N 번째 자리의 수를 찾기위해 1번의 탐색. 탐색한 수를 전부 더하면 N(1+N) / 2 이다. 합공식이 가물가물한데.. 사실 시간복잡도 계산에선 차수가 제일 큰 놈이 중요하기 때문에 째깐둥이들은 조금 엇나가도 괜찮을 거다. N(1+N) / 2 = 1/2(N^2 + N) 여기서 차수가 제일 큰 놈은 N^2이니, 앞뒤로 다 떼어주면  시간복잡도는 O(N^2)가 되는 것이다. 소스코드 정리 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

C 파일입출력 정리

출처 : https://desire-with-passion.tistory.com/169 (출처로 들어가면 더 자세한 설명을 볼 수 있습니다) (아래 글은 출처의 내용을 정리한 것입니다) 이번 학기 수업 중 하나가 C로 진행된다. C 파일 입출력 역시.. 잘 몰라서 위 출처의 내용을 정리했다. FILE *file_pointer // 파일스트림 // 1. stream을 통해 파일을 여는 법 fopen("파일경로", "열기방식") fclose(stream 이름) File *file_pointer; file_pointer = fopen("a.txt", "w"); // 경로에 적히는 '\'는 개행문자라 두번 적어줘야함 fclose(file_pointer); // 2. 파일을 여는 방식 fopen("파일경로", "열기방식") 모드 || 기능 || 파일없음 || 파일있음 || 기존 파일 보호(파일로출력시) r || 읽기(=입력) || 에러 || 기존파일이용 || 에러 r+ || 읽기/쓰기(=출력) || 에러 || 기존파일이용 || 겹쳐써짐 w || 쓰기 || 새로생성 || 새로생성 || 지워짐(새로생성) w+ || 쓰기/읽기 || 새로생성 || 새로생성 || 지워짐(새로생성) a || 쓰기(덧붙이기) || 새로생성 || 기존파일이용 || 뒤쪽에 써짐 a+ || 쓰기, 읽기 || 새로생성 || 기존파일이용 || 뒤쪽에 써짐 단, 여기서 입력과 출력이 동시에 가능한 모드에서 입력과 출력을 번갈아 수행하기 위해서는, 위치 지정자를 새로 정해줘야한다. (아마 보니깐, 내용을 덮어씌우려면 w+를, 뒤쪽에 추가하려면 a+ 정도를 쓰면 될 듯) // 3. 파일에서 읽어오기 fscanf(읽어올 stream name, "읽어올자료유형", 읽어들일위치) fgets(읽어들일위치, 읽어올문자

C++ fstream 간단한 사용법(파일입출력)

이미지
인터넷을 돌아다니다 보니, 파일입출력은 기본 중에 기본이라고 한다. C++를 주로 사용하고 있지만 파일입출력을 할 줄 몰랐다. 그래서 정리한다. (내용출처 :  http://www.cplusplus.com/doc/tutorial/files/  ) <fstream>  C++는 <fstream> 이라는 Stream class를 지원한다. '파일에서 읽어오거나 파일에 쓰는 클래스' 라고 한다. istream과 ostream의 파생클래스이다(자식임).  <fstream>에서 주로 쓰는 두 가지는 ofstream 과 ifstream 이다. ofstream  ofstream은 'output file stream'이다. output이라길래 파일의 내용을 읽어오는 줄 알았는데 내 생각과 반대로 파일에 적는 친구다. ofstream에는 멤버함수 open이 있다. 사용법은 평소에 쓰던 cin, cout 과 비슷하다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include   < iostream > #include   < fstream > using   namespace   std ; int  main( void ) {      // 파일 열기     ofstream myfile;     myfile.open( "example.txt" );           // 파일에 쓰기     myfile  < <   "Wow.\n" ;     myfile  < <   "Writing this to a file.\n" ;           // 파일 닫기     myfile.close();