Java Tutorial

 
 
 
 
import java.io.*;
import java.util.*;   //for working with Vectors

class MergSort
{
         String str;
         int value=0;
         static int s1=0,s2=0;
         Vector list1 = new Vector();
         Vector list2 = new Vector();
         Integer intval; //object of Integer class for converting primitive numbers to object numbers

     void getdata()
     {
         try{
              System.out.println(\"\\n=====MERGE SORT=====\");
              BufferedReader obj=new BufferedReader(new InputStreamReader(System.in));
              System.out.println(\"\\nNOTE :  Data should be entered in sorted order\");
              System.out.print(\"\\nEnter size of First List : \");
              System.out.flush();
              str=obj.readLine();
              s1=Integer.parseInt(str);
                 for(int i=0;i<s1;i++)        
                    {
                      System.out.print(\"Enter value for Element \"+(i+1)+\" :  \");
                      System.out.flush();
                      str=obj.readLine();
                      value=Integer.parseInt(str);
                      intval = new Integer(value);
                      list1.addElement(intval);
                  }

                System.out.print(\"\\nEnter size of Second List : \");
              System.out.flush();
              str=obj.readLine();
              s2=Integer.parseInt(str);
                  for(    int i=0;i<s2;i++)
                   {
                      System.out.print(\"Enter value for Element \"+(i+1)+\" :  \");
                      System.out.flush();
                      str=obj.readLine();
                      value=Integer.parseInt(str);
                      intval=new Integer(value);
                      list2.addElement(intval);
                   }
            }
            catch(Exception e) {}
      }

                   //MERGE LOGIC
                   void merging()  //method to merg
                    {
                         for(int i=0;i<s2;i++)
                         {
                             list1.insertElementAt(list2.elementAt(i),(s1+i));
                        }
                        System.out.println(\"\\n\\nAFTER MERGING\");
                        for(int i=0;i<s1+s2;i++)
                        {
                            System.out.println(\"Element at(\"+(i+1)+\") : \"+list1.elementAt(i));
                        }
                   }

                //SORT LOGIC
                void sorting() //method for sorting 
                {
                    //creating temporary array
                    int size=list1.size();
                    Vector sort=new Vector();
                    int a,b; //extra for converting object to primitive numbers
                    Integer A,B; //extra for taking object value

                   int first=0,second=s1,third=s1+s2,i,j,c=0;
                   i=first;
                   j=second;
                   while(i<second && j<third)
                   {
                          A=(Integer)list1.elementAt(i);  //Assigning object to object
                          B=(Integer)list1.elementAt(j);  //Assigning object to object

                          a=A.intValue();  //converting object to primitive number
                          b=B.intValue();  //converting object to primitive number

                          if(a < b)   //list1.elementAt(i)   <    list1.elementAt(j)
                            {
                               sort.insertElementAt(A,c);
                               i++;
                            }
                          else
                            {
                              sort.insertElementAt(B,c);
                              j++;
                            }
                         c++;
                    }

                    if(i<second)
                    {
                          while(i<second)
                          {
                              sort.insertElementAt(list1.elementAt(i),c);
                              i++;
                              c++;
                         }
                    }

                    if(j<third)
                    {
                        while(j<third)
                        {
                              sort.insertElementAt(list1.elementAt(j),c);
                               j++;
                               c++;
                        }
                    }

                    System.out.println(\"\\n\\nAFTER SORTING\");
                    for(int k=0;k<sort.size();k++)
                          System.out.println(\"Element at(\"+(k+1)+\") : \"+sort.elementAt(k));
            }

}


class  MergSortData
{
    public static void main(String[] args) 
    {
         MergSort obj=new MergSort();
         obj.getdata();
         obj.merging();
         obj.sorting();
    }
}

    Related Post:
  1. An applet program to display alternate filled and empty circle that to in row and column format

  2. Socket program of HTTP Server

  3. Program to Display Output in triangular shape

  4. Program to show the comparing of Strings for equality

  5. An applet program that displays random dot

  6. Program to delete mth element from an input string

  7. Program to declare, initialize and print a 2D array of integers

  8. Program using Switch case to compute the net amount to be paid by a customer

  9. Program to show the use of Logical AND Operator (&) in If Statements

  10. Program to read command line arguments

  11. Given a list of marks ranging form 0 to 100, write a program to compute and print the number of students marks

  12. Program to show the use of Switch Statement for the same statement for several different case labels

  13. Program to read the table elements into a two-dimensional array temperature

  14. Program to show the use of Increment and Decrement Operators

  15. Program to show an example of searching Strings for subStrings

  16. Encrypt the text that you want to send on the client side. The server side decrypts it after receiving. Append server time after each word in the sent

  17. Do the following for the Array Insert the element in the array,delete an element from the array,search for a particular element Create multiple thread

  18. Program to show an example of using a Static Nested Class outside the Top-Level Class

  19. RMI application for counting factorial of a given number.

  20. RMI based application for login validation based on data saved in text file stored on the server and will display appropriate message to the client..

 
 
Didn't find what you were looking for? Find more on An applet program to perform merge sort