필요할떄만 정렬을 한다.!
정렬을 하면서 정렬이 된다고 생각해도 좋을 것이다
이것을
8 | 2 | 4 | 3 | 5 |
8과 2를 비교하고
2 | 8 | 4 | 3 | 5 |
4와 8을 비교 . 4를 앞쪽으로 보내고 8을 뒤로 보낸다. 2와 4를 비교한다. 2가 4보다 작으므로 유지
2 | 4 | 8 | 3 | 5 |
3과 8을 비교 변경한다. 3과4를 비교 변경한다 .
2 | 3 | 4 | 8 | 5 |
5와8를 비교.. 5와4를 비교 4가 5보다 작으므로 3과4를 비교하는것을 하지않는다
2 | 3 | 4 | 5 | 8 |
c언어
#include <stdio.h>int main(void){int i,j,temp;int arr[10] = {1,3,5,7,9,2,4,6,8,10};for(int i=0;i<10;i++){j=i;while(arr[j]>arr[j+1]){temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;j--;}}for(int i=0;i<10;i++){printf("%d ",arr[i]);}javapublic class InsertSort {public static void main(String[] args) {int i,j,temp;int arr[]= {1,3,5,7,9,2,4,6,8,10};for(i=0;i<9;i++) {j=i;while(arr[j]>arr[j+1]) {temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;j--;}}for(int a=0;a<arr.length;a++) {System.out.print(arr[a]+" ");}}}