<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.lensovet.net/~sysadmin/w/index.php?action=history&amp;feed=atom&amp;title=Computer_Science%2F61b%2FHomework%2Fhw10%2Fsort%2FSorts.java</id>
	<title>Computer Science/61b/Homework/hw10/sort/Sorts.java - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://www.lensovet.net/~sysadmin/w/index.php?action=history&amp;feed=atom&amp;title=Computer_Science%2F61b%2FHomework%2Fhw10%2Fsort%2FSorts.java"/>
	<link rel="alternate" type="text/html" href="http://www.lensovet.net/~sysadmin/w/index.php?title=Computer_Science/61b/Homework/hw10/sort/Sorts.java&amp;action=history"/>
	<updated>2026-05-03T21:03:52Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>http://www.lensovet.net/~sysadmin/w/index.php?title=Computer_Science/61b/Homework/hw10/sort/Sorts.java&amp;diff=24297&amp;oldid=prev</id>
		<title>Lensovet: Lensovet moved page CS/61b/Homework/hw10/sort/Sorts.java to Computer Science/61b/Homework/hw10/sort/Sorts.java</title>
		<link rel="alternate" type="text/html" href="http://www.lensovet.net/~sysadmin/w/index.php?title=Computer_Science/61b/Homework/hw10/sort/Sorts.java&amp;diff=24297&amp;oldid=prev"/>
		<updated>2023-02-20T03:51:34Z</updated>

		<summary type="html">&lt;p&gt;Lensovet moved page &lt;a href=&quot;/~sysadmin/w/CS/61b/Homework/hw10/sort/Sorts.java&quot; class=&quot;mw-redirect&quot; title=&quot;CS/61b/Homework/hw10/sort/Sorts.java&quot;&gt;CS/61b/Homework/hw10/sort/Sorts.java&lt;/a&gt; to &lt;a href=&quot;/~sysadmin/w/Computer_Science/61b/Homework/hw10/sort/Sorts.java&quot; title=&quot;Computer Science/61b/Homework/hw10/sort/Sorts.java&quot;&gt;Computer Science/61b/Homework/hw10/sort/Sorts.java&lt;/a&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 03:51, 20 February 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Lensovet</name></author>
		
	</entry>
	<entry>
		<id>http://www.lensovet.net/~sysadmin/w/index.php?title=Computer_Science/61b/Homework/hw10/sort/Sorts.java&amp;diff=3985&amp;oldid=prev</id>
		<title>Lensovet: moved CS 61b/Homework/hw10/sort/Sorts.java to CS/61b/Homework/hw10/sort/Sorts.java:&amp;#32;fix cs 61b hierarchy</title>
		<link rel="alternate" type="text/html" href="http://www.lensovet.net/~sysadmin/w/index.php?title=Computer_Science/61b/Homework/hw10/sort/Sorts.java&amp;diff=3985&amp;oldid=prev"/>
		<updated>2010-11-14T06:00:19Z</updated>

		<summary type="html">&lt;p&gt;moved &lt;a href=&quot;/~sysadmin/w/CS_61b/Homework/hw10/sort/Sorts.java&quot; class=&quot;mw-redirect&quot; title=&quot;CS 61b/Homework/hw10/sort/Sorts.java&quot;&gt;CS 61b/Homework/hw10/sort/Sorts.java&lt;/a&gt; to &lt;a href=&quot;/~sysadmin/w/CS/61b/Homework/hw10/sort/Sorts.java&quot; class=&quot;mw-redirect&quot; title=&quot;CS/61b/Homework/hw10/sort/Sorts.java&quot;&gt;CS/61b/Homework/hw10/sort/Sorts.java&lt;/a&gt;: fix cs 61b hierarchy&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 06:00, 14 November 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Lensovet</name></author>
		
	</entry>
	<entry>
		<id>http://www.lensovet.net/~sysadmin/w/index.php?title=Computer_Science/61b/Homework/hw10/sort/Sorts.java&amp;diff=3250&amp;oldid=prev</id>
		<title>Lensovet: formatting</title>
		<link rel="alternate" type="text/html" href="http://www.lensovet.net/~sysadmin/w/index.php?title=Computer_Science/61b/Homework/hw10/sort/Sorts.java&amp;diff=3250&amp;oldid=prev"/>
		<updated>2007-09-22T06:52:20Z</updated>

		<summary type="html">&lt;p&gt;formatting&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 06:52, 22 September 2007&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l16&quot; &gt;Line 16:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 16:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; 	/**&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; 	/**&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; 	 *&amp;#160; countingSort() sorts an array of int keys according to the&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; 	 *&amp;#160; countingSort() sorts an array of int keys according to the&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; 	 *&amp;#160; values of &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;_one_ &lt;/del&gt;of the base-16 digits of each key.&amp;#160; &amp;quot;whichDigit&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; 	 *&amp;#160; values of &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''one'' &lt;/ins&gt;of the base-16 digits of each key.&amp;#160; &amp;quot;whichDigit&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; 	 *&amp;#160; indicates which digit is the sort key.&amp;#160; A zero means sort on the least&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; 	 *&amp;#160; indicates which digit is the sort key.&amp;#160; A zero means sort on the least&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; 	 *&amp;#160; significant (ones) digit; a one means sort on the second least&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; 	 *&amp;#160; significant (ones) digit; a one means sort on the second least&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Lensovet</name></author>
		
	</entry>
	<entry>
		<id>http://www.lensovet.net/~sysadmin/w/index.php?title=Computer_Science/61b/Homework/hw10/sort/Sorts.java&amp;diff=3249&amp;oldid=prev</id>
		<title>Lensovet at 06:51, 22 September 2007</title>
		<link rel="alternate" type="text/html" href="http://www.lensovet.net/~sysadmin/w/index.php?title=Computer_Science/61b/Homework/hw10/sort/Sorts.java&amp;diff=3249&amp;oldid=prev"/>
		<updated>2007-09-22T06:51:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{code}}&lt;br /&gt;
 /* Sorts.java */&lt;br /&gt;
 &lt;br /&gt;
 package sort;&lt;br /&gt;
 &lt;br /&gt;
 public class Sorts {&lt;br /&gt;
 	&lt;br /&gt;
 	/**&lt;br /&gt;
 	 *  Place any final static fields you would like to have here.&lt;br /&gt;
 	 **/&lt;br /&gt;
 	public static final int NOOFDIGITS = 7;&lt;br /&gt;
 	public static final int DIGITSIZE = 4;&lt;br /&gt;
 	public static final int BUCKETLENGTH = 16; // 2^DIGITSIZE&lt;br /&gt;
 	public static final int BITMASK = 15; // binary 1111&lt;br /&gt;
 	&lt;br /&gt;
 	/**&lt;br /&gt;
 	 *  countingSort() sorts an array of int keys according to the&lt;br /&gt;
 	 *  values of _one_ of the base-16 digits of each key.  &amp;quot;whichDigit&amp;quot;&lt;br /&gt;
 	 *  indicates which digit is the sort key.  A zero means sort on the least&lt;br /&gt;
 	 *  significant (ones) digit; a one means sort on the second least&lt;br /&gt;
 	 *  significant (sixteens) digit; and so on, up to a seven, which means&lt;br /&gt;
 	 *  sort on the most significant digit.&lt;br /&gt;
 	 *  @param key is an array of ints.  Assume no key is negative.&lt;br /&gt;
 	 *  @param whichDigit is a number in 0...7 specifying which base-16 digit&lt;br /&gt;
 	 *    is the sort key.&lt;br /&gt;
 	 *  @return an array of type int, having the same length as &amp;quot;keys&amp;quot;&lt;br /&gt;
 	 *    and containing the same keys sorted according to the chosen digit.&lt;br /&gt;
 	 *&lt;br /&gt;
 	 *    Note:  Return a ''newly'' created array.  DO NOT CHANGE THE ARRAY keys.&lt;br /&gt;
 	 **/&lt;br /&gt;
 	public static int[] countingSort(int[] keys, int whichDigit) {&lt;br /&gt;
 		int[] newarr = new int[keys.length];&lt;br /&gt;
 		int[] buckets = new int[BUCKETLENGTH];&lt;br /&gt;
 		for (int i = 0; i &amp;lt; keys.length; i++) {&lt;br /&gt;
 			buckets[((keys[i] &amp;gt;&amp;gt; (whichDigit*DIGITSIZE)) &amp;amp; BITMASK)]++;&lt;br /&gt;
 		}&lt;br /&gt;
 		int total = 0;&lt;br /&gt;
 		for (int j = 0; j &amp;lt; buckets.length; j++) {&lt;br /&gt;
 			int c = buckets[j];&lt;br /&gt;
 			buckets[j] = total;&lt;br /&gt;
 			total = total + c;&lt;br /&gt;
 		}&lt;br /&gt;
 		for (int i = 0; i &amp;lt; keys.length; i++) {&lt;br /&gt;
 			newarr[buckets[((keys[i] &amp;gt;&amp;gt; (whichDigit*DIGITSIZE)) &amp;amp; BITMASK)]] = keys[i];&lt;br /&gt;
 			buckets[((keys[i] &amp;gt;&amp;gt; (whichDigit*DIGITSIZE)) &amp;amp; BITMASK)]++;&lt;br /&gt;
 		}&lt;br /&gt;
 		return newarr;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	/**&lt;br /&gt;
 	 *  radixSort() sorts an array of int keys (using all 32 bits&lt;br /&gt;
 	 *  of each key to determine the ordering).&lt;br /&gt;
 	 *  @param key is an array of ints.  Assume no key is negative.&lt;br /&gt;
 	 *  @return an array of type int, having the same length as &amp;quot;keys&amp;quot;&lt;br /&gt;
 	 *    and containing the same keys in sorted order.&lt;br /&gt;
 	 *&lt;br /&gt;
 	 *    Note:  Return a ''newly'' created array.  DO NOT CHANGE THE ARRAY keys.&lt;br /&gt;
 	 **/&lt;br /&gt;
 	public static int[] radixSort(int[] keys) {&lt;br /&gt;
 		int[] returnarr = keys;&lt;br /&gt;
 		for (int i=0; i&amp;lt;=NOOFDIGITS; i++) {&lt;br /&gt;
 			returnarr = countingSort(returnarr, i);&lt;br /&gt;
 		}&lt;br /&gt;
 		return returnarr;&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	/**&lt;br /&gt;
 	 *  yell() prints an array of int keys.  Each key is printed in hexadecimal&lt;br /&gt;
 	 *  (base 16).&lt;br /&gt;
 	 *  @param key is an array of ints.&lt;br /&gt;
 	 **/&lt;br /&gt;
 	public static void yell(int[] keys) {&lt;br /&gt;
 		System.out.print(&amp;quot;keys are [ &amp;quot;);&lt;br /&gt;
 		for (int i = 0; i &amp;lt; keys.length; i++) {&lt;br /&gt;
 			System.out.print(Integer.toString(keys[i], 16) + &amp;quot; &amp;quot;);&lt;br /&gt;
 		}&lt;br /&gt;
 		System.out.println(&amp;quot;]&amp;quot;);&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	/**&lt;br /&gt;
 	 *  main() creates and sorts a sample array.&lt;br /&gt;
 	 *  We recommend you add more tests of your own.&lt;br /&gt;
 	 *  Your test code will not be graded.&lt;br /&gt;
 	 **/&lt;br /&gt;
 	public static void main(String[] args) {&lt;br /&gt;
 		int[] keys = { Integer.parseInt(&amp;quot;60013879&amp;quot;, 16),&lt;br /&gt;
 			Integer.parseInt(&amp;quot;11111119&amp;quot;, 16),&lt;br /&gt;
 			Integer.parseInt(&amp;quot;2c735010&amp;quot;, 16),&lt;br /&gt;
 			Integer.parseInt(&amp;quot;2c732010&amp;quot;, 16),&lt;br /&gt;
 			Integer.parseInt(&amp;quot;7fffffff&amp;quot;, 16),&lt;br /&gt;
 			Integer.parseInt(&amp;quot;4001387c&amp;quot;, 16),&lt;br /&gt;
 			Integer.parseInt(&amp;quot;10111119&amp;quot;, 16),&lt;br /&gt;
 			Integer.parseInt(&amp;quot;529a7385&amp;quot;, 16),&lt;br /&gt;
 			Integer.parseInt(&amp;quot;1e635010&amp;quot;, 16),&lt;br /&gt;
 			Integer.parseInt(&amp;quot;28905879&amp;quot;, 16),&lt;br /&gt;
 			Integer.parseInt(&amp;quot;00011119&amp;quot;, 16),&lt;br /&gt;
 			Integer.parseInt(&amp;quot;00000000&amp;quot;, 16),&lt;br /&gt;
 			Integer.parseInt(&amp;quot;7c725010&amp;quot;, 16),&lt;br /&gt;
 			Integer.parseInt(&amp;quot;1e630010&amp;quot;, 16),&lt;br /&gt;
 			Integer.parseInt(&amp;quot;111111e5&amp;quot;, 16),&lt;br /&gt;
 			Integer.parseInt(&amp;quot;61feed0c&amp;quot;, 16),&lt;br /&gt;
 			Integer.parseInt(&amp;quot;3bba7387&amp;quot;, 16),&lt;br /&gt;
 			Integer.parseInt(&amp;quot;52953fdb&amp;quot;, 16),&lt;br /&gt;
 			Integer.parseInt(&amp;quot;40013879&amp;quot;, 16) };&lt;br /&gt;
 		&lt;br /&gt;
 		yell(keys);&lt;br /&gt;
 		keys = radixSort(keys);&lt;br /&gt;
 		yell(keys);&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Lensovet</name></author>
		
	</entry>
</feed>