intro/SortingAlgorithms

From ggc

Jump to: navigation, search

001 package intro;
002 
003 import wiki.Wiki;
004 
005 /**
006  * All about my application.
007  @author My Name Here
008  */
009 public class SortingAlgorithms
010 {
011   public int getMaxIndex(int[] nums, int endIndex)
012   {
013     int max=nums[0];
014     int pos=0;
015     for(int i=1; i<=endIndex; i++)
016     {
017       if(nums[i]>max)
018       {
019         max=nums[i];
020         pos=i;
021       }
022     }
023     return pos;
024   }
025 
026   public void swap(int[] nums, int indexA, int indexB)
027   {
028     int aux=nums[indexA];
029     nums[indexA]=nums[indexB];
030     nums[indexB]=aux;
031   }
032 
033   public void insertionSort(int[] nums)
034   {
035     for(int i=1; i<nums.length; i++)
036     {
037       int insertAt=i;
038       int original=nums[i];
039       //find where to insert
040       while(insertAt>&& nums[insertAt-1]>nums[i])
041       {
042         insertAt--;
043       }
044       //shift values over
045       for(int j=i; j>insertAt; j--)
046       {
047         nums[j]=nums[j-1];
048       }
049       //insert element at correct location
050       nums[insertAt]=original;
051       printNumbers(nums);
052     }
053   }
054 
055   public void selectionSort(int[] nums)
056   {
057     for(int i=nums.length-1; i>0; i--)
058     {
059       int maxPos=getMaxIndex(nums, i);
060       swap(nums, maxPos, i);
061       printNumbers(nums);
062     }
063   }
064 
065   public void printNumbers(int[] nums)
066   {
067     for(int i=0; i<nums.length; i++)
068       Wiki.out.print(nums[i]+" ");
069     Wiki.out.println();
070   }
071 
072   public static void main(String[] args)
073   {
074     SortingAlgorithms sorter=new SortingAlgorithms();
075 
076     int[] nums={436289157};
077     //print unsorted numbers
078     Wiki.out.println("Unsorted numbers: ");
079     sorter.printNumbers(nums);
080 
081     Wiki.out.println("Insertion Sorting...");
082     sorter.insertionSort(nums);
083     Wiki.out.println("Sorted...");
084 
085     //print sorted numbers
086     sorter.printNumbers(nums);
087 
088     Wiki.out.println("Unsorted numbers: ");
089     int[] nums2={436289157};
090     //print unsorted numbers
091     sorter.printNumbers(nums2);
092 
093     Wiki.out.println("Selection Sorting...");
094     sorter.selectionSort(nums2);
095     Wiki.out.println("Sorted...");
096 
097     //print sorted numbers
098     sorter.printNumbers(nums2);
099 
100   }
101 }


Download/View intro/SortingAlgorithms.java





Views
Personal tools
Add to 
del.icio.usAdd to 
diggAdd to 
FacebookAdd to 
favoritesAdd to 
GoogleAdd to 
MySpaceAdd to 
PrintAdd to 
SlashdotAdd to 
StumbleUponAdd to 
Twitter