Advertisement
Guest User

Untitled

a guest
Jul 29th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.31 KB | None | 0 0
  1. import java.util.*;
  2. public class Insertion{
  3.     static Scanner in = new Scanner (System.in);
  4.    
  5.     public static int findInPlace (int []a, int x){
  6.         int i = 0;
  7.         while (a[i] < x && a[i] != 0)
  8.         {
  9.             i++;
  10.         }
  11.         return i;
  12.     }
  13.    
  14.     public static int find (int []a, int x){
  15.         int i = 0;
  16.         while (i < a.length)
  17.         {
  18.             if (a[i] == x)
  19.                 return i;  
  20.             i++;
  21.         }
  22.         return i;
  23.     }
  24.  
  25.     public static int []move (int []a, int zero, int place){
  26.         for (int i = zero; i > place; i--)
  27.         {
  28.             a[i] = a[i - 1];
  29.         }
  30.         return a;
  31.     }
  32.  
  33.     public static void insertInsortedWay (int []a, int x){
  34.         int place = findInPlace(a,x);
  35.         int zero = find(a,0);
  36.        
  37.         a = move(a, zero, place);
  38.         a[place] = x;
  39.     }
  40.     public static void arrPelet (int []a){
  41.         for (int j = 0; j < a.length; j++)
  42.         {
  43.             System.out.print(a[j] + "\t");
  44.         }
  45.     }
  46.     public static void main(String[] args){
  47.         int n;
  48.         System.out.print("Enter array length -> ");
  49.         n = in.nextInt();
  50.        
  51.         int []a = new int [n];
  52.         int x;
  53.        
  54.         for (int i = 0; i < n; i++)
  55.         {
  56.             System.out.print("Enter x -> ");
  57.             x = in.nextInt();
  58.             insertInsortedWay (a,x);
  59.             arrPelet(a);
  60.             System.out.println("\n");
  61.         }
  62.     }
  63. }
  64. /*
  65. Enter array length -> 7
  66. Enter x -> 4
  67. 4   0   0   0   0   0   0  
  68. Enter x -> 6
  69. 4   6   0   0   0   0   0  
  70. Enter x -> 1
  71. 1   4   6   0   0   0   0  
  72. Enter x -> 2
  73. 1   2   4   6   0   0   0  
  74. Enter x -> 7
  75. 1   2   4   6   7   0   0  
  76. Enter x -> 5
  77. 1   2   4   5   6   7   0  
  78. Enter x -> 3
  79. 1   2   3   4   5   6   7
  80. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement