Advertisement
Guest User

Untitled

a guest
Apr 4th, 2020
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.86 KB | None | 0 0
  1. public class Numbers{
  2.    
  3.         private int[] list;
  4.        
  5.         public Numbers(int[] n)
  6.         {  
  7.             list = n;
  8.         }
  9.        
  10.         public void print()
  11.         {
  12.             for(int x:list)
  13.                 System.out.print(x+" ");
  14.             System.out.println();
  15.         }
  16.        
  17.         public int[] getArray()
  18.         {
  19.             return list;
  20.         }
  21.        
  22.         public void sort()
  23.         {
  24.             nonRecurMerge();
  25.         }
  26.        
  27.         private void bubble()
  28.         {
  29.           for (int i = 0; i < list.length - 1; i++) //1 9 7 8 4
  30.           {
  31.               for (int a = 0; a < list.length - 1 - i; a++)
  32.               {
  33.                   if (list[a] > list[a + 1])
  34.                   {
  35.                       int temp = list[a];
  36.                       list[a] = list[a + 1];
  37.                       list[a + 1] = temp;
  38.                   }
  39.               }
  40.           }
  41.         }
  42.        
  43.         private void insertion()
  44.         {
  45.             // code for insertion sort 
  46.         }
  47.        
  48.         private void selection(int[] stuff)
  49.         {
  50.             int min, temp;
  51.            
  52.             for (int i = 0; i < stuff.length; i++)
  53.             {
  54.                 min = i;
  55.                 for (int a = i + 1; a < stuff.length; a++)
  56.                 {
  57.                     if (stuff[min] > stuff[a])
  58.                     {
  59.                         min = a;
  60.                     }
  61.                 }
  62.                 temp = stuff[i];
  63.                 stuff[i] = stuff[min];
  64.                 stuff[min] = temp;
  65.             }
  66.         }
  67.        
  68.         private void merge(int[] aa, int[] bb)
  69.         {
  70.             int c1 = 0;
  71.             int c2 = 0;
  72.            
  73.             for(int i = 0; i < list.length; i++)
  74.             {
  75.                 if(c1 >= aa.length)
  76.                 {
  77.                     list[i] = bb[c2];
  78.                     c2++;
  79.                 }
  80.                 else if(c2 >= bb.length)
  81.                 {
  82.                     list[i] = aa[c1];
  83.                     c1++;
  84.                 }
  85.                 else if(aa[c1] < bb[c2])
  86.                 {
  87.                     list[i] = aa[c1];
  88.                     c1++;
  89.                 }
  90.                 else
  91.                 {
  92.                     list[i] = bb[c2];
  93.                     c2++;
  94.                 }
  95.             }
  96.         }
  97.        
  98.         private void nonRecurMerge()
  99.         {
  100.             int[] aa = new int[list.length / 2];
  101.             int[] bb = new int[list.length - aa.length];
  102.            
  103.             for(int i = 0; i < aa.length; i++)
  104.             {
  105.                 aa[i] = list[i];
  106.             }
  107.            
  108.             for(int i = 0; i < bb.length; i++)
  109.             {
  110.                 bb[i] = list[i + aa.length];
  111.             }
  112.            
  113.             selection(aa);
  114.             selection(bb);
  115.             merge(aa, bb);
  116.         }
  117.        
  118.         public int binSearch(int[] data, int searchItem)
  119.         {
  120.             int index = 0;
  121.  
  122.             boolean ifPart = false;
  123.             for(int i = 0; i < data.length; i++)
  124.             {
  125.                 if (data[i] == searchItem)
  126.                 {
  127.                     ifPart = true;
  128.                 }
  129.             }
  130.             if (!ifPart)
  131.             {
  132.                 return -1;
  133.             }
  134.            
  135.             if (data[data.length / 2] > searchItem)
  136.             {
  137.                 int[] data1 = new int[data.length / 2];
  138.                 for(int i = 0; i < data.length / 2; i++)
  139.                 {
  140.                     data1[i] = data[i];
  141.                 }
  142.                 index += binSearch(data1, searchItem);
  143.             }
  144.            
  145.             else if (data[data.length / 2] < searchItem)
  146.             {
  147.                 int[] data1 = new int[data.length / 2];
  148.                 for(int i = 0; i < data.length / 2; i++)
  149.                 {
  150.                     data1[i] = data[i];
  151.                 }
  152.                 index += binSearch(data1, searchItem);
  153.             }
  154.            
  155.             return data.length / 2;
  156.         }
  157.        
  158.         public String toString()
  159.         {
  160.             String ret = "";
  161.            
  162.             for(int i = 0; i < list.length; i++)
  163.             {
  164.                 ret += list[i] + " ";
  165.             }
  166.            
  167.             return ret;
  168.         }
  169. }
  170.  
  171. /* OUTPUT
  172.  
  173. 9 16 5 5 60
  174. 5 5 9 16 60
  175.  
  176. Press any key to continue . . .
  177. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement