Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Numbers{
- private int[] list;
- public Numbers(int[] n)
- {
- list = n;
- }
- public void print()
- {
- for(int x:list)
- System.out.print(x+" ");
- System.out.println();
- }
- public int[] getArray()
- {
- return list;
- }
- public void sort()
- {
- nonRecurMerge();
- }
- private void bubble()
- {
- for (int i = 0; i < list.length - 1; i++) //1 9 7 8 4
- {
- for (int a = 0; a < list.length - 1 - i; a++)
- {
- if (list[a] > list[a + 1])
- {
- int temp = list[a];
- list[a] = list[a + 1];
- list[a + 1] = temp;
- }
- }
- }
- }
- private void insertion()
- {
- // code for insertion sort
- }
- private void selection(int[] stuff)
- {
- int min, temp;
- for (int i = 0; i < stuff.length; i++)
- {
- min = i;
- for (int a = i + 1; a < stuff.length; a++)
- {
- if (stuff[min] > stuff[a])
- {
- min = a;
- }
- }
- temp = stuff[i];
- stuff[i] = stuff[min];
- stuff[min] = temp;
- }
- }
- private void merge(int[] aa, int[] bb)
- {
- int c1 = 0;
- int c2 = 0;
- for(int i = 0; i < list.length; i++)
- {
- if(c1 >= aa.length)
- {
- list[i] = bb[c2];
- c2++;
- }
- else if(c2 >= bb.length)
- {
- list[i] = aa[c1];
- c1++;
- }
- else if(aa[c1] < bb[c2])
- {
- list[i] = aa[c1];
- c1++;
- }
- else
- {
- list[i] = bb[c2];
- c2++;
- }
- }
- }
- private void nonRecurMerge()
- {
- int[] aa = new int[list.length / 2];
- int[] bb = new int[list.length - aa.length];
- for(int i = 0; i < aa.length; i++)
- {
- aa[i] = list[i];
- }
- for(int i = 0; i < bb.length; i++)
- {
- bb[i] = list[i + aa.length];
- }
- selection(aa);
- selection(bb);
- merge(aa, bb);
- }
- public int binSearch(int[] data, int searchItem)
- {
- int index = 0;
- boolean ifPart = false;
- for(int i = 0; i < data.length; i++)
- {
- if (data[i] == searchItem)
- {
- ifPart = true;
- }
- }
- if (!ifPart)
- {
- return -1;
- }
- if (data[data.length / 2] > searchItem)
- {
- int[] data1 = new int[data.length / 2];
- for(int i = 0; i < data.length / 2; i++)
- {
- data1[i] = data[i];
- }
- index += binSearch(data1, searchItem);
- }
- else if (data[data.length / 2] < searchItem)
- {
- int[] data1 = new int[data.length / 2];
- for(int i = 0; i < data.length / 2; i++)
- {
- data1[i] = data[i];
- }
- index += binSearch(data1, searchItem);
- }
- return data.length / 2;
- }
- public String toString()
- {
- String ret = "";
- for(int i = 0; i < list.length; i++)
- {
- ret += list[i] + " ";
- }
- return ret;
- }
- }
- /* OUTPUT
- 9 16 5 5 60
- 5 5 9 16 60
- Press any key to continue . . .
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement