<?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%2Fhw3%2FHomework3.java</id>
	<title>Computer Science/61b/Homework/hw3/Homework3.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%2Fhw3%2FHomework3.java"/>
	<link rel="alternate" type="text/html" href="http://www.lensovet.net/~sysadmin/w/index.php?title=Computer_Science/61b/Homework/hw3/Homework3.java&amp;action=history"/>
	<updated>2026-05-03T14:07:20Z</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/hw3/Homework3.java&amp;diff=24305&amp;oldid=prev</id>
		<title>Lensovet: Lensovet moved page CS/61b/Homework/hw3/Homework3.java to Computer Science/61b/Homework/hw3/Homework3.java</title>
		<link rel="alternate" type="text/html" href="http://www.lensovet.net/~sysadmin/w/index.php?title=Computer_Science/61b/Homework/hw3/Homework3.java&amp;diff=24305&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/hw3/Homework3.java&quot; class=&quot;mw-redirect&quot; title=&quot;CS/61b/Homework/hw3/Homework3.java&quot;&gt;CS/61b/Homework/hw3/Homework3.java&lt;/a&gt; to &lt;a href=&quot;/~sysadmin/w/Computer_Science/61b/Homework/hw3/Homework3.java&quot; title=&quot;Computer Science/61b/Homework/hw3/Homework3.java&quot;&gt;Computer Science/61b/Homework/hw3/Homework3.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/hw3/Homework3.java&amp;diff=3993&amp;oldid=prev</id>
		<title>Lensovet: moved CS 61b/Homework/hw3/Homework3.java to CS/61b/Homework/hw3/Homework3.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/hw3/Homework3.java&amp;diff=3993&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/hw3/Homework3.java&quot; class=&quot;mw-redirect&quot; title=&quot;CS 61b/Homework/hw3/Homework3.java&quot;&gt;CS 61b/Homework/hw3/Homework3.java&lt;/a&gt; to &lt;a href=&quot;/~sysadmin/w/CS/61b/Homework/hw3/Homework3.java&quot; class=&quot;mw-redirect&quot; title=&quot;CS/61b/Homework/hw3/Homework3.java&quot;&gt;CS/61b/Homework/hw3/Homework3.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/hw3/Homework3.java&amp;diff=2968&amp;oldid=prev</id>
		<title>Lensovet at 20:01, 22 May 2007</title>
		<link rel="alternate" type="text/html" href="http://www.lensovet.net/~sysadmin/w/index.php?title=Computer_Science/61b/Homework/hw3/Homework3.java&amp;diff=2968&amp;oldid=prev"/>
		<updated>2007-05-22T20:01:10Z</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;
 /* Homework3.java */&lt;br /&gt;
 &lt;br /&gt;
 public class Homework3 {&lt;br /&gt;
 &lt;br /&gt;
   /**&lt;br /&gt;
    *  smoosh() takes an array of ints.  On completion the array contains&lt;br /&gt;
    *  the same numbers, but wherever the array had two or more consecutive&lt;br /&gt;
    *  duplicate numbers, they are replaced by one copy of the number.  Hence,&lt;br /&gt;
    *  after smoosh() is done, no two consecutive numbers in the array are the&lt;br /&gt;
    *  same.&lt;br /&gt;
    *&lt;br /&gt;
    *  Any unused elements at the end of the array are set to -1.&lt;br /&gt;
    *&lt;br /&gt;
    *  For example, if the input array is [ 0 0 0 0 1 1 0 0 0 3 3 3 1 1 0 ],&lt;br /&gt;
    *  it reads [ 0 1 0 3 1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 ] after smoosh()&lt;br /&gt;
    *  completes.&lt;br /&gt;
    *&lt;br /&gt;
    *  @param ints the input array.&lt;br /&gt;
    **/&lt;br /&gt;
 &lt;br /&gt;
   private static void smoosh(int[] ints) {&lt;br /&gt;
 	for (int i=0; i&amp;lt;ints.length-1; i++) {&lt;br /&gt;
 		while (ints[i] == ints[i+1] &amp;amp;&amp;amp; ints[i] != -1) {&lt;br /&gt;
 			for (int ii=i; ii&amp;lt;ints.length-1; ii++) {&lt;br /&gt;
 				ints[ii] = ints[ii+1]; }&lt;br /&gt;
 			ints[ints.length-1] = -1;&lt;br /&gt;
 			} }&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
   /**&lt;br /&gt;
    *  stringInts() converts an array of ints to a String.&lt;br /&gt;
    *  @return a String representation of the array.&lt;br /&gt;
    **/&lt;br /&gt;
 &lt;br /&gt;
   private static String stringInts(int[] ints) {&lt;br /&gt;
     String s = &amp;quot;[  &amp;quot;;&lt;br /&gt;
     for (int i = 0; i &amp;lt; ints.length; i++) {&lt;br /&gt;
       s = s + Integer.toString(ints[i]) + &amp;quot;  &amp;quot;;&lt;br /&gt;
     }&lt;br /&gt;
     return s + &amp;quot;]&amp;quot;;&lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
   /**&lt;br /&gt;
    *  main() runs test cases on your smoosh and squish methods.  Prints summary&lt;br /&gt;
    *  information on basic operations and halts with an error (and a stack&lt;br /&gt;
    *  trace) if any of the tests fail.&lt;br /&gt;
    **/&lt;br /&gt;
 &lt;br /&gt;
   public static void main(String[] args) {&lt;br /&gt;
     String result;&lt;br /&gt;
     int i;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
     System.out.println(&amp;quot;Let's smoosh arrays!\n&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
     int[] test00 = {4, 4, 4};&lt;br /&gt;
     System.out.println(&amp;quot;smooshing &amp;quot; + stringInts(test00) + &amp;quot;:&amp;quot;);&lt;br /&gt;
     smoosh(test00);&lt;br /&gt;
     result = stringInts(test00);&lt;br /&gt;
     System.out.println(result);&lt;br /&gt;
 &lt;br /&gt;
     int[] test0 = {1, 1, 1, 4};&lt;br /&gt;
     System.out.println(&amp;quot;smooshing &amp;quot; + stringInts(test0) + &amp;quot;:&amp;quot;);&lt;br /&gt;
     smoosh(test0);&lt;br /&gt;
     result = stringInts(test0);&lt;br /&gt;
     System.out.println(result);&lt;br /&gt;
 &lt;br /&gt;
     int[] test1 = {3, 7, 7, 7, 4, 5, 5, 2, 0, 8, 8, 8, 8, 5};&lt;br /&gt;
     System.out.println(&amp;quot;smooshing &amp;quot; + stringInts(test1) + &amp;quot;:&amp;quot;);&lt;br /&gt;
     smoosh(test1);&lt;br /&gt;
     result = stringInts(test1);&lt;br /&gt;
     System.out.println(result);&lt;br /&gt;
     TestHelper.verify(result.equals(&lt;br /&gt;
             &amp;quot;[  3  7  4  5  2  0  8  5  -1  -1  -1  -1  -1  -1  ]&amp;quot;),&lt;br /&gt;
                       &amp;quot;BAD SMOOSH!!!  No cookie.&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
     int[] test2 = {6, 6, 6, 6, 6, 3, 6, 3, 6, 3, 3, 3, 3, 3, 3};&lt;br /&gt;
     System.out.println(&amp;quot;smooshing &amp;quot; + stringInts(test2) + &amp;quot;:&amp;quot;);&lt;br /&gt;
     smoosh(test2);&lt;br /&gt;
     result = stringInts(test2);&lt;br /&gt;
     System.out.println(result);&lt;br /&gt;
     TestHelper.verify(result.equals(&lt;br /&gt;
             &amp;quot;[  6  3  6  3  6  3  -1  -1  -1  -1  -1  -1  -1  -1  -1  ]&amp;quot;),&lt;br /&gt;
                       &amp;quot;BAD SMOOSH!!!  No cookie.&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
     int[] test3 = {4, 4, 4, 4, 4};&lt;br /&gt;
     System.out.println(&amp;quot;smooshing &amp;quot; + stringInts(test3) + &amp;quot;:&amp;quot;);&lt;br /&gt;
     smoosh(test3);&lt;br /&gt;
     result = stringInts(test3);&lt;br /&gt;
     System.out.println(result);&lt;br /&gt;
     TestHelper.verify(result.equals(&amp;quot;[  4  -1  -1  -1  -1  ]&amp;quot;),&lt;br /&gt;
                       &amp;quot;BAD SMOOSH!!!  No cookie.&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
     int[] test4 = {0, 1, 2, 3, 4, 5, 6};&lt;br /&gt;
     System.out.println(&amp;quot;smooshing &amp;quot; + stringInts(test4) + &amp;quot;:&amp;quot;);&lt;br /&gt;
     smoosh(test4);&lt;br /&gt;
     result = stringInts(test4);&lt;br /&gt;
     System.out.println(result);&lt;br /&gt;
     TestHelper.verify(result.equals(&amp;quot;[  0  1  2  3  4  5  6  ]&amp;quot;),&lt;br /&gt;
                       &amp;quot;BAD SMOOSH!!!  No cookie.&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
     System.out.println(&amp;quot;\nLet's squish linked lists!\n&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
     int[] test5 = {3, 7, 7, 7, 4, 5, 5, 2, 0, 8, 8, 8, 8, 5};&lt;br /&gt;
     SList list5 = new SList();&lt;br /&gt;
     for (i = 0; i &amp;lt; test5.length; i++) {&lt;br /&gt;
       list5.insertEnd(new Integer(test5[i]));&lt;br /&gt;
     }&lt;br /&gt;
     System.out.println(&amp;quot;squishing &amp;quot; + list5.toString() + &amp;quot;:&amp;quot;);&lt;br /&gt;
     list5.squish();&lt;br /&gt;
     result = list5.toString();&lt;br /&gt;
     System.out.println(result);&lt;br /&gt;
     TestHelper.verify(result.equals(&amp;quot;[  3  7  4  5  2  0  8  5  ]&amp;quot;),&lt;br /&gt;
                       &amp;quot;BAD SQUISH!!!  No biscuit.&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
     int[] test6 = {6, 6, 6, 6, 6, 3, 6, 3, 6, 3, 3, 3, 3, 3, 3};&lt;br /&gt;
     SList list6 = new SList();&lt;br /&gt;
     for (i = 0; i &amp;lt; test6.length; i++) {&lt;br /&gt;
       list6.insertEnd(new Integer(test6[i]));&lt;br /&gt;
     }&lt;br /&gt;
     System.out.println(&amp;quot;squishing &amp;quot; + list6.toString() + &amp;quot;:&amp;quot;);&lt;br /&gt;
     list6.squish();&lt;br /&gt;
     result = list6.toString();&lt;br /&gt;
     System.out.println(result);&lt;br /&gt;
     TestHelper.verify(result.equals(&amp;quot;[  6  3  6  3  6  3  ]&amp;quot;),&lt;br /&gt;
                       &amp;quot;BAD SQUISH!!!  No biscuit.&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
     int[] test7 = {4, 4, 4, 4, 4};&lt;br /&gt;
     SList list7 = new SList();&lt;br /&gt;
     for (i = 0; i &amp;lt; test7.length; i++) {&lt;br /&gt;
       list7.insertEnd(new Integer(test7[i]));&lt;br /&gt;
     }&lt;br /&gt;
     System.out.println(&amp;quot;squishing &amp;quot; + list7.toString() + &amp;quot;:&amp;quot;);&lt;br /&gt;
     list7.squish();&lt;br /&gt;
     result = list7.toString();&lt;br /&gt;
     System.out.println(result);&lt;br /&gt;
     TestHelper.verify(result.equals(&amp;quot;[  4  ]&amp;quot;),&lt;br /&gt;
                       &amp;quot;BAD SQUISH!!!  No biscuit.&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
     int[] test8 = {0, 1, 2, 3, 4, 5, 6};&lt;br /&gt;
     SList list8 = new SList();&lt;br /&gt;
     for (i = 0; i &amp;lt; test8.length; i++) {&lt;br /&gt;
       list8.insertEnd(new Integer(test8[i]));&lt;br /&gt;
     }&lt;br /&gt;
     System.out.println(&amp;quot;squishing &amp;quot; + list8.toString() + &amp;quot;:&amp;quot;);&lt;br /&gt;
     list8.squish();&lt;br /&gt;
     result = list8.toString();&lt;br /&gt;
     System.out.println(result);&lt;br /&gt;
     TestHelper.verify(result.equals(&amp;quot;[  0  1  2  3  4  5  6  ]&amp;quot;),&lt;br /&gt;
                       &amp;quot;BAD SQUISH!!!  No biscuit.&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
     SList list9 = new SList();&lt;br /&gt;
     System.out.println(&amp;quot;squishing &amp;quot; + list9.toString() + &amp;quot;:&amp;quot;);&lt;br /&gt;
     list9.squish();&lt;br /&gt;
     result = list9.toString();&lt;br /&gt;
     System.out.println(result);&lt;br /&gt;
     TestHelper.verify(result.equals(&amp;quot;[  ]&amp;quot;),&lt;br /&gt;
                       &amp;quot;BAD SQUISH!!!  No biscuit.&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
     System.out.println(&amp;quot;\nLet's twin linked lists!\n&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
     System.out.println(&amp;quot;twinning &amp;quot; + list6.toString() + &amp;quot;:&amp;quot;);&lt;br /&gt;
     list6.twin();&lt;br /&gt;
     result = list6.toString();&lt;br /&gt;
     System.out.println(result);&lt;br /&gt;
     TestHelper.verify(result.equals(&lt;br /&gt;
                       &amp;quot;[  6  6  3  3  6  6  3  3  6  6  3  3  ]&amp;quot;),&lt;br /&gt;
                       &amp;quot;BAD TWIN!!!  No gravy.&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
     System.out.println(&amp;quot;twinning &amp;quot; + list7.toString() + &amp;quot;:&amp;quot;);&lt;br /&gt;
     list7.twin();&lt;br /&gt;
     result = list7.toString();&lt;br /&gt;
     System.out.println(result);&lt;br /&gt;
     TestHelper.verify(result.equals(&amp;quot;[  4  4  ]&amp;quot;),&lt;br /&gt;
                       &amp;quot;BAD TWIN!!!  No gravy.&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
     System.out.println(&amp;quot;twinning &amp;quot; + list9.toString() + &amp;quot;:&amp;quot;);&lt;br /&gt;
     list9.twin();&lt;br /&gt;
     result = list9.toString();&lt;br /&gt;
     System.out.println(result);&lt;br /&gt;
     TestHelper.verify(result.equals(&amp;quot;[  ]&amp;quot;),&lt;br /&gt;
                       &amp;quot;BAD TWIN!!!  No gravy.&amp;quot;); &lt;br /&gt;
   }&lt;br /&gt;
 &lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Lensovet</name></author>
		
	</entry>
</feed>