인하대 컴퓨터구조론 MARS sorting과제
- 최초 등록일
- 2020.07.15
- 최종 저작일
- 2020.07
- 5페이지/ 압축파일
- 가격 3,000원
소개글
"인하대 컴퓨터구조론 MARS sorting과제"에 대한 내용입니다.
목차
1. Insertion assorting algorithm 사용
2. MIPS code in MARS
3. 실행동작
4. 고찰
본문내용
해당 c코드 설명
먼저 length값으로 배열의 길이를 받습니다. for문을 1에서부터 (length-1)까지 하나씩 키워가면서 돌려주고 아래에 while문을 하나 더 두어 j와 j-1의 배열을 비교해가며 정렬해나갑니다. 이때 swap이 이용되므로 tmp변수를 이용해 이동된 data가 사라지지 않게 해야합니다.
Length 4 즉, arr[]= 2,4,5,3 을 정렬해보면서 이해해봅니다. 먼저 while문 조건에서 arr[1]과 arr[0]을 비교합니다. Arr[0]<arr[1]이므로 조건이 위배되어 while문으로 들어오지 못하고 i++가 되어 j=2가 됩니다. Arr[1]<arr[2] 이므로 조건이 위배되어 while문으로 들어오지 못하고 또 i++가 되어 j=3이됩니다.
Arr[2]>arr[3] 이므로 while문 안으로 들어옵니다. 이때 swap하기위해 arr[3]을 tmp에 넣어줍니다. 그리고 arr[3]에 arr[2]을 넣어줍니다. 즉 3자리에 5를 덮어씌웁니다. 그 다음 tmp에있는 3값을 arr[2]에 넣어주고 j-- 해줍니다. 즉 j=2로 바꿔준 후 다시 while문 조건을 해석합니다. 현재 2, 4, 3, 5 배열이므로 arr[1]>arr[2]의 조건을 만족합니다. 따라서 앞서와 같이 tmp를 이용해 2,3,4,5로 바꿔줍니다. J – 를 계속시켜주면서 j>0의 조건이 위배되면 while문을 나옵니다. J가 length-1까지 배열을 완료하면 for문을 나가면서 return값을 반환하고 함수가 종료됩니다. Insertion assorting프로그램은 앞서 확인한대로 왼쪽부터 차근차근 정렬해나가고, 오른쪽에 있던 새로운 수가 왼쪽수보다 작으면 while문안에서 j –조건문에 의해 하나씩 왼쪽으로 밀려, 최종적으로 왼쪽부터 차례차례 정렬해져 나가는 정렬방법입니다.
참고 자료
없음
압축파일 내 파일목록
sorting.txt
컴퓨터 구조론 MIPS programmig 과제 12150838정건우.docx