프로그래밍/C Programming 썸네일형 리스트형 C언어 SelectionSort에 대해 알아보자 Selection Sort란 한국어로 선택정렬이라고도 합니다.처음에 가지고 있는 키와 남아있는 키를 비교해서 가장 작은 값을 첫번째에 놓고바뀐 값은 가장 작은 값이 있던 위치로 보내버리는 정렬 방법입니다.이렇게 정렬을 하게 될 경우, 빅오 표기법으로 효율을 나타내면 O(n^2)이 됩니다.이는 지수함수 형태로 나타나기 때문에 그리 좋은 정렬 방법은 아니라고 볼 수 있는데요.데이터의 양이 많지 않을 때에는 문제가 되지 않지만 양이 많아졌을 경우급격하게 효율이 떨어지는 양상을 보이게 됩니다. 우선 코드를 보겠습니다. 처음에 최대 크기 100개의 array를 선언합니다. 이후 사용자가 순차적으로 데이터를 원하는 개수만큼 집어넣습니다. 15번째 줄부터 정렬 알고리즘이 시작되는데요.position은 현재 위치를 나.. 더보기 C언어 싱글링크드리스트 예제로 살펴보기 안녕하세요. 오늘은 C언어로 싱글 링크드리스트를 구현하는 예제를 살펴보겠습니다.그 전에 우선, 싱글 링크드 리스트란 무엇인지 알아봐야겠죠? 싱글 링크드 리스트란 이처럼 머리부터 꼬리까지 연결되어 있는 구조를 말하는데요,일반 배열과 차이점이 있다면 메모리 상에 데이터가 흩뿌려져 있다는 점이에요.그래서 다음번지로 찾아가는 특별한 규칙이 있는 것은 아니지만 이전의 데이터가 다음의 데이터의 주소를 가지고 있는 구조로 되어 있습니다.이로인한 문제점으로는 그 주소를 잃어버리게 되면주소 잃은 포인터 현상이 나타날 수도 있기 때문에 주의하셔야 합니다. 그럼 예제를 살펴보겠습니다. 처음에 node라는 구조체를 정의하고 있습니다.거기에는 data라는 int형 변수와 node* 타입의 link 변수가 있습니다.즉, 다음 노.. 더보기 C언어 별찍기 예제 오늘은 C언어 별찍기 예제를 알아보겠습니다. 우리가 만들 모양은 이렇게 반쪽짜리 다이아를 별로 그려보려고 하는데요.소스코드 자체는 그렇게 길지 않습니다. 간단하죠? 그런데 처음부터 소스코드를 보는 것보다는어떻게 하면 저런 모양으로 별을 찍을지 생각해보는 것이 좋습니다. ---------------------------------------------------------------------------------------------------------------------------------------------------- 충분히 생각해보셨을 것이라 믿고, 위의 소스코드를 설명하겠습니다.우선 4번줄부터 9번줄까지는 이중 for문이 있습니다.첫번째 for문에서는 i가 0에서부터 5가 될 때까지 총 .. 더보기 C언어 예제를 통해 알아보는 포인터 C언어를 처음 접하는 분들이 가장 많이 힘들어하는 것이 포인터가 아닐까 싶습니다. 그래서 오늘은 간단한 예제와 함께포인터란 무엇인지 알아볼까 합니다. 이게 오늘 살펴볼 예제인데요. 참고로 Atom으로 작성을 했습니다.그렇다면 하나씩 살펴보겠습니다.우선 일반변수 num1에 10을 저장했고 num2에 20을 저장했습니다.그리고 포인터 변수로 ptr1에는 num1의 주소를 가지고 있도록 했고, ptr2에는 num2의 주소를 가지고 있도록 했습니다. 여기서 참고할만한 것은, 포인터 변수에는 대체로 p를 붙인다는 것입니다. 사소하고, 별로 중요하지 않다고 생각할 수도 있지만처음 C언어를 접하는 분들에게는 충분히 궁금해할만한 부분이라고 생각합니다. 물론 여기서 ptr이라고 한 것은일반적으로 p를 앞에다 붙이기 때문.. 더보기 Windows 10 - Ubuntu 공유폴더 설정하기 Windows 10 - Ubuntu 공유폴더 설정하는 방법각자 공유폴더를 사용하는 이유는 여러 가지가 있겠지만 저의 경우에는 소스 코드 작업을 할 때일단 편집기를 사용하는 것이 vi 환경보다 편리하기 때문입니다. 다른 분들은 또 다른 이유에 의해서공유폴더 설정을 필요로 하는 분들이 있을 수가 있겠지요?그럼 본격적으로 Virtual Box를 통해서 Windows 10 - Ubuntu 간에 공유폴더를 설정하는 방법을 알아보겠습니다. 1. 우선 본인이 공유하고 싶은 폴더를 선택합니다.D:\C_program 저는 이 폴더를 선택했는데요, C프로그램을 주로 공유 폴더를 통해서 넘기기 때문에폴더 이름을 이렇게 지었던 것 같습니다. 2. Virtual Box를 실행합니다. 그리고 가상 Ubuntu를 선택한 다음에 설.. 더보기 이전 1 2 다음