- Python Basic Programs
- Python Program Examples
- Python Print Hello World
- Python Get Input from User
- Python Add Two Numbers
- Add Subtract Multiply Divide
- Python Check Even or Odd
- Python Check Prime or Not
- Python Check Alphabet or Not
- Python Check Vowel or Not
- Python Check Leap Year or Not
- Check Reverse equal Original
- Check Positive Negative Zero
- Python Check Armstrong or Not
- Python Check Palindrome or Not
- Python Check Perfect Number
- Python Find Reverse of Number
- Python Count Digits in Number
- Python Add Digits of Number
- Sum of First and Last Digits
- Python Product of Mid Digits
- Sum of Squares of Digits
- Interchange Digits of Number
- Python Sum of n Numbers
- Python Print ASCII Values
- Python Swap Two Numbers
- Python Swap Two Variables
- Python Fahrenheit to Celsius
- Python Celsius to Fahrenheit
- Python Display Calendar
- Python Days into Years, Weeks
- Find Largest of Two Number
- Find Largest of Three Number
- Python Print Fibonacci Series
- Generate Armstrong Numbers
- Python Make Simple Calculator
- Python Add Binary Numbers
- Binary Number Multiplication
- Python Mathematical Programs
- Find Sum of Natural Numbers
- Find Average of n Numbers
- Python Print Multiplication Table
- Print Table using Recursion
- Python Find Average Percentage
- Python Find Grade of Student
- Find Square Root of Number
- Python Print Prime Numbers
- Find Numbers Divisible by
- Python Find Factors of Number
- Python Find Factorial of a Number
- Python Find HCF & LCM
- Python Kilometres to Miles
- Python Find Area of Square
- Python Find Area of Rectangle
- Python Find Area of Triangle
- Python Find Area of Circle
- Python Find Perimeter of Square
- Find Perimeter of Rectangle
- Python Find Perimeter of Triangle
- Find Circumference of Circle
- Python Simple Interest
- Python Solve Quadratic Equation
- Python Different Set of Operations
- Python Display Powers of 2
- Python Find nCr & nPr
- Python Pattern Programs
- Python Print Pattern Programs
- Python Print Diamond Pattern
- Python Print Floyd's Triangle
- Python Print Pascal's Triangle
- Python List Programs
- Python Count Even/Odd in List
- Python Positive/Negative in List
- Python Even Numbers in List
- Python Odd Numbers in List
- Python Sum of Elements in List
- Sum of Odd/Even Numbers
- Python Element at Even Position
- Python Element at Odd Position
- Python Search Element in List
- Python Largest Number in List
- Python Smallest Number in List
- Python Second Largest in List
- Python Second Smallest in List
- Python Insert Element in List
- Python Delete Element from List
- Python Multiply Numbers in List
- Swap Two Elements in List
- Python 1D Array Program
- Python Linear Search
- Python Binary Search
- Python Insertion Sort
- Python Bubble Sort
- Python Selection Sort
- Remove Duplicates from List
- Python Reverse a List
- Python Merge Two List
- Python Copy a List
- Python Conversion Programs
- Python Decimal to Binary
- Python Decimal to Octal
- Python Decimal to Hexadecimal
- Python Binary to Decimal
- Python Binary to Octal
- Python Binary to Hexadecimal
- Python Octal to Decimal
- Python Octal to Binary
- Python Octal to Hexadecimal
- Python Hexadecimal to Decimal
- Python Hexadecimal to Binary
- Python Hexadecimal to Octal
- Python Matrix Programs
- Python Add Two Matrices
- Python Subtract Two Matrices
- Python Transpose Matrix
- Python Multiply Matrices
- Python String Programs
- Python Print String
- Python Find Length of String
- Python Compare Two Strings
- Python Copy String
- Python Concatenate String
- Python Reverse a String
- Python Swap Two Strings
- Python Uppercase to Lowercase
- Python Lowercase to Uppercase
- Python Check Substring in String
- Python Count Character in String
- Count Repeated Characters
- Python Count Word in Sentence
- Python Count Each Vowels
- Python Capitalize Character
- Python Capitalize Word in String
- Python Smallest/Largest Word
- Remove Spaces from String
- Remove Duplicate Character
- Remove Vowels from String
- Remove Punctuation from String
- Python Remove Word in String
- Python Remove Duplicate Words
- WhiteSpace to Hyphens
- Replace Vowels with Character
- Replace Character in String
- Python Sort String in Alphabetical
- Sort Word in Alphabetical Order
- Extract Number from String
- Python Check Anagram Strings
- Python File Programs
- Python Read a File
- Python Write to File
- Python Append Text to File
- Python Copy Files
- Python Merge Two Files
- Python Counts Characters in File
- Python Count Words in File
- Python File Content in Reverse
- Python Lines Contains String
- Python Delete Line from File
- Python Capitalize Word in File
- Python Replace Text in File
- Replace Specific Line in File
- Python Find Size of File
- Python List Files in Directory
- Python Delete Files
- Python Misc Programs
- Python Reverse a Tuple
- Python Merge Two Dictionary
- Python bytes to String
- Python bytearray to String
- Generate Random Numbers
- Python Print Address of Variable
- Python Print Date and Time
- Python Get IP Address
- Python Shutdown/Restart PC
- Python Tutorial
- Python Tutorial
Insertion Sort Program in Python
This article deals with some insertion-sort programs in Python. Insertion sort is a technique used to sort lists in Python. If you're not aware of the topic, then refer to the Insert Sort Algorithm to get all the required items.
Here is a list of insertion sort programs available in this article:
- Insertion sort based on a list of 10 elements entered by the user.
- Insertion sort based on a list of n elements.
- Insertion sort along with the printing of the list after each sort.
Insertion Sort based on a List of 10 Elements
The question is: write a Python program to sort elements of a list using the insertion sort technique. Here is its answer:
arr = [] print("Enter 10 Elements: ") for i in range(10): arr.append(int(input())) for i in range(1, 10): elem = arr[i] if elem<arr[i-1]: for j in range(i+1): if elem<arr[j]: index = j for k in range(i, j, -1): arr[k] = arr[k-1] break else: continue arr[index] = elem print(arr)
Here is the initial output of the above program's sample run:
Now supply the input, say 10, 2, 9, 3, 1, 8, 4, 7, 6, 5 as 10 elements to sort the list and print the new list in sorted order:
Allow users to define the size of the list
This program allows the user to define the size of a list along with its elements. The question is: write a Python program to apply insertion sort to a list of n elements. The following program is the answer to this question:
arr = [] print(end="Enter the Size: ") arrSize = int(input()) print("Enter " +str(arrSize)+ " Elements: ") for i in range(arrSize): arr.append(int(input())) for i in range(1, arrSize): elem = arr[i] if elem<arr[i-1]: for j in range(i+1): if elem<arr[j]: index = j for k in range(i, j, -1): arr[k] = arr[k-1] break else: continue arr[index] = elem print("\nThe New (Sorted) List is: ") for i in range(arrSize): print(end=str(arr[i]) + " ") print()
Here is its sample run with user input: 5 as size, 5, 4, 1, 3, 2 as five elements:
Print the list after each insertion sort
This is the last program in this article. The advantage of this program is that you will see a list after each sort operation. Let's have a look at the program and its sample output to understand it in a better way:
nums = [] print(end="Enter the Size: ") numsSize = int(input()) print("Enter " +str(numsSize)+ " Elements: ") for i in range(numsSize): nums.append(int(input())) for i in range(1, numsSize): elem = nums[i] if elem<nums[i-1]: for j in range(i+1): if elem<nums[j]: index = j for k in range(i, j, -1): nums[k] = nums[k-1] break else: continue nums[index] = elem print(end="\nStep " +str(i)+ ": ") for j in range(numsSize): print(end=str(nums[j]) + " ") print("\n\nThe New (Sorted) List is: ") for i in range(numsSize): print(end=str(nums[i]) + " ") print()
Here is its sample run with user input: 6 as size, 6, 5, 4, 3, 2, 1 as six elements:
« Previous Program Next Program »