
									 Problem
								
								
									 Solution
								
								
									 Submissions
								
								
							Insertion Sort
								Certification: Advanced Level
								Accuracy: 0%
								Submissions: 0
								Points: 15
							
							Write a C++ program that implements the insertion sort algorithm. The program should take an unsorted array of integers and sort it in ascending order by building the sorted array one element at a time.
Example 1
- Input: array = [12, 11, 13, 5, 6]
 - Output: [5, 6, 11, 12, 13]
 - Explanation: 
  
- Step 1: Start with first element [12] - already sorted
 - Step 2: Insert 11 into sorted subarray
      
- Compare 11 with 12. 11 < 12, move 12 one position right
 - Insert 11 at correct position: [11, 12, 13, 5, 6]
 
 - Step 3: Insert 13 into sorted subarray
      
- Compare 13 with 12. 13 > 12, keep 13 at its position
 - Current array: [11, 12, 13, 5, 6]
 
 - Step 4: Insert 5 into sorted subarray
      
- Compare 5 with 13, 12, and 11. 5 < all of them, move them right
 - Insert 5 at beginning: [5, 11, 12, 13, 6]
 
 - Step 5: Insert 6 into sorted subarray
      
- Compare 6 with 13, 12, and 11. 6 < all of them, move them right
 - Compare 6 with 5. 6 > 5, insert after 5: [5, 6, 11, 12, 13]
 
 - Step 6: Return sorted array [5, 6, 11, 12, 13]
 
 
Example 2
- Input: array = [4, 3, 2, 10, 12, 1, 5, 6]
 - Output: [1, 2, 3, 4, 5, 6, 10, 12]
 - Explanation: 
  
- Step 1: Start with first element [4] - already sorted
 - Step 2: Insert 3 into sorted subarray
      
- Compare 3 with 4. 3 < 4, move 4 right
 - Insert 3 at beginning: [3, 4, 2, 10, 12, 1, 5, 6]
 
 - Step 3: Continue insertion process for elements 2, 10, 12, 1, 5, 6
 - Step 4: Return sorted array [1, 2, 3, 4, 5, 6, 10, 12]
 
 
Constraints
- 1 ≤ array.length ≤ 10^3
 - -10^6 ≤ array[i] ≤ 10^6
 - Time Complexity: O(n²), where n is the length of the array
 - Space Complexity: O(1)
 
Editorial
									
												
My Submissions
										All Solutions
									| Lang | Status | Date | Code | 
|---|---|---|---|
| You do not have any submissions for this problem. | |||
| User | Lang | Status | Date | Code | 
|---|---|---|---|---|
| No submissions found. | ||||
Solution Hints
- Start with the second element (index 1) and consider it as the current element to be inserted.
 - Compare the current element with all elements in the sorted part (left of the current element).
 - Shift all elements greater than the current element one position to the right.
 - Insert the current element at its correct position in the sorted part.
 - Repeat for all elements in the array.