$("#ray_9238").html("\n
1<\/a>
2<\/a>
3<\/a>
4<\/a>
5<\/a>
6<\/a>
7<\/a>
8<\/a>
9<\/a>
10<\/a><\/strong>
11<\/a>
12<\/a>
13<\/a>
14<\/a>
15<\/a>
16<\/a>
17<\/a>
18<\/a>
19<\/a>
20<\/a><\/strong>
21<\/a>
22<\/a>
23<\/a>
24<\/a>
25<\/a>
26<\/a>
27<\/a>
28<\/a>
29<\/a>
30<\/a><\/strong>
31<\/a>
32<\/a>
33<\/a>
34<\/a>
35<\/a>
36<\/a>
37<\/a>
38<\/a>
39<\/a>
40<\/a><\/strong>
41<\/a>
42<\/a>
43<\/a>
44<\/a>
45<\/a>
46<\/a>
47<\/a>
48<\/a>
49<\/a>
50<\/a><\/strong>
51<\/a>
52<\/a>
53<\/a>
54<\/a>
55<\/a>
56<\/a>
57<\/a>
58<\/a>
59<\/a>
60<\/a><\/strong>
61<\/a>
62<\/a>
63<\/a>
64<\/a>
65<\/a>
66<\/a>
67<\/a>
68<\/a>
69<\/a>
70<\/a><\/strong>
71<\/a>
72<\/a>
73<\/a>
74<\/a>
75<\/a>
76<\/a>
77<\/a>
78<\/a>
79<\/a>
80<\/a><\/strong>
81<\/a>
82<\/a>
83<\/a>
84<\/a>
85<\/a>
86<\/a>
87<\/a>
88<\/a>
89<\/a>
90<\/a><\/strong>
91<\/a>
92<\/a>
93<\/a>
94<\/a>
95<\/a>
96<\/a>
97<\/a>
98<\/a>
99<\/a>
100<\/a><\/strong>
101<\/a>
102<\/a>
103<\/a>
104<\/a>
105<\/a>
106<\/a>
107<\/a>
108<\/a>
109<\/a>
110<\/a><\/strong>
111<\/a>
112<\/a>
113<\/a>
114<\/a>
115<\/a>
116<\/a>
117<\/a>
118<\/a>
119<\/a>
120<\/a><\/strong>
121<\/a>
122<\/a>
123<\/a>
124<\/a>
125<\/a>
126<\/a>
127<\/a>
128<\/a>
129<\/a>
130<\/a><\/strong>
131<\/a>
132<\/a>
133<\/a>
134<\/a>
135<\/a>
136<\/a>
137<\/a>
138<\/a>
139<\/a>
140<\/a><\/strong>
141<\/a>
142<\/a>
143<\/a>
144<\/a>
145<\/a>
146<\/a>
147<\/a>
148<\/a>
149<\/a><\/pre><\/td>\n  
//Mike Scott<\/span>
<\/span>//examples of array manipulations<\/span>

<\/span>public<\/span> <\/span>class<\/span> <\/span>ArrayExamples<\/span>
<\/span>{<\/span>  <\/span>public<\/span> <\/span>static<\/span> <\/span>void<\/span> <\/span>main<\/span>(<\/span>String<\/span>[]<\/span> <\/span>args<\/span>)<\/span>
  <\/span>{<\/span>  <\/span>int<\/span>[]<\/span> <\/span>list<\/span> <\/span>=<\/span> <\/span>{<\/span>1<\/span>,<\/span> <\/span>2<\/span>,<\/span> <\/span>3<\/span>,<\/span> <\/span>4<\/span>,<\/span> <\/span>1<\/span>,<\/span> <\/span>2<\/span>,<\/span> <\/span>3<\/span>}<\/span>;<\/span>
    <\/span>findAndPrintPairs<\/span>(<\/span>list<\/span>,<\/span> <\/span>5<\/span>)<\/span>;<\/span>
    <\/span>bubblesort<\/span>(<\/span>list<\/span>)<\/span>;<\/span>
    <\/span>showList<\/span>(<\/span>list<\/span>)<\/span>;<\/span>

    <\/span>list<\/span> <\/span>=<\/span> <\/span>new<\/span> <\/span>int<\/span>[]<\/span>{<\/span> <\/span>1<\/span>,<\/span> <\/span>2<\/span>,<\/span> <\/span>3<\/span>,<\/span> <\/span>4<\/span>,<\/span> <\/span>5<\/span>,<\/span> <\/span>6<\/span>,<\/span> <\/span>7<\/span>,<\/span> <\/span>8<\/span>,<\/span> <\/span>9<\/span>,<\/span> <\/span>10<\/span>,<\/span> <\/span>11<\/span>}<\/span>;<\/span>
    <\/span>bubblesort<\/span>(<\/span>list<\/span>)<\/span>;<\/span>
    <\/span>showList<\/span>(<\/span>list<\/span>)<\/span>;<\/span>

    <\/span>list<\/span> <\/span>=<\/span> <\/span>new<\/span> <\/span>int<\/span>[]<\/span>{<\/span>11<\/span>,<\/span> <\/span>10<\/span>,<\/span> <\/span>9<\/span>,<\/span> <\/span>8<\/span>,<\/span> <\/span>7<\/span>,<\/span> <\/span>6<\/span>,<\/span> <\/span>5<\/span>,<\/span> <\/span>4<\/span>,<\/span> <\/span>3<\/span>,<\/span> <\/span>2<\/span>,<\/span> <\/span>1<\/span>,<\/span> <\/span>0<\/span>,<\/span> <\/span>-<\/span>1<\/span>,<\/span> <\/span>-<\/span>2<\/span>}<\/span>;<\/span>
    <\/span>bubblesort<\/span>(<\/span>list<\/span>)<\/span>;<\/span>
    <\/span>showList<\/span>(<\/span>list<\/span>)<\/span>;<\/span>

    <\/span>list<\/span> <\/span>=<\/span> <\/span>new<\/span> <\/span>int<\/span>[]<\/span>{<\/span>1<\/span>}<\/span>;<\/span>
    <\/span>bubblesort<\/span>(<\/span>list<\/span>)<\/span>;<\/span>
    <\/span>showList<\/span>(<\/span>list<\/span>)<\/span>;<\/span>
  <\/span>}<\/span>


  <\/span>// pre: list != null, list.length > 0<\/span>
  <\/span>// post: return index of minimum element of array<\/span>
  <\/span>public<\/span> <\/span>static<\/span> <\/span>int<\/span> <\/span>findMin<\/span>(<\/span>int<\/span>[]<\/span> <\/span>list<\/span>)<\/span>
  <\/span>{<\/span>  <\/span>assert<\/span> <\/span>list<\/span> <\/span>!=<\/span> <\/span>null<\/span> <\/span>&&<\/span> <\/span>list<\/span>.<\/span>length<\/span> <\/span>><\/span> <\/span>0<\/span> <\/span>:<\/span> <\/span>"<\/span>failed precondition<\/span>"<\/span><\/span>;<\/span>

    <\/span>int<\/span> <\/span>indexOfMin<\/span> <\/span>=<\/span> <\/span>0<\/span>;<\/span>
    <\/span>for<\/span>(<\/span>int<\/span> <\/span>i<\/span> <\/span>=<\/span> <\/span>1<\/span>;<\/span> <\/span>i<\/span> <\/span><<\/span> <\/span>list<\/span>.<\/span>length<\/span>;<\/span> <\/span>i<\/span>++<\/span>)<\/span>
    <\/span>{<\/span>  <\/span>if<\/span>(<\/span>list<\/span>[<\/span>i<\/span>]<\/span> <\/span><<\/span> <\/span>list<\/span>[<\/span>indexOfMin<\/span>]<\/span>)<\/span>
      <\/span>{<\/span>  <\/span>indexOfMin<\/span> <\/span>=<\/span> <\/span>i<\/span>;<\/span>
      <\/span>}<\/span>
    <\/span>}<\/span>

    <\/span>return<\/span> <\/span>indexOfMin<\/span>;<\/span>
  <\/span>}<\/span>


  <\/span>/*
   *pre: list != null, newSize >= 0
   *post: nothing. the method does not succeed it resizing the
   * argument
   */<\/span>
  <\/span>public<\/span> <\/span>static<\/span> <\/span>void<\/span> <\/span>badResize<\/span>(<\/span>int<\/span>[]<\/span> <\/span>list<\/span>,<\/span> <\/span>int<\/span> <\/span>newSize<\/span>)<\/span>
  <\/span>{<\/span>  <\/span>assert<\/span> <\/span>list<\/span> <\/span>!=<\/span> <\/span>null<\/span> <\/span>&&<\/span> <\/span>newSize<\/span> <\/span>>=<\/span> <\/span>0<\/span> <\/span>:<\/span> <\/span>"<\/span>failed precondition<\/span>"<\/span><\/span>;<\/span>

    <\/span>int<\/span>[]<\/span> <\/span>temp<\/span> <\/span>=<\/span> <\/span>new<\/span> <\/span>int<\/span>[<\/span>newSize<\/span>]<\/span>;<\/span>
    <\/span>int<\/span> <\/span>limit<\/span> <\/span>=<\/span> <\/span>Math<\/span>.<\/span>min<\/span>(<\/span>list<\/span>.<\/span>length<\/span>,<\/span> <\/span>newSize<\/span>)<\/span>;<\/span>

    <\/span>for<\/span>(<\/span>int<\/span> <\/span>i<\/span> <\/span>=<\/span> <\/span>0<\/span>;<\/span> <\/span>i<\/span> <\/span><<\/span> <\/span>limit<\/span>;<\/span> <\/span>i<\/span>++<\/span>)<\/span>
    <\/span>{<\/span>  <\/span>temp<\/span>[<\/span>i<\/span>]<\/span> <\/span>=<\/span> <\/span>list<\/span>[<\/span>i<\/span>]<\/span>;<\/span>
    <\/span>}<\/span>

    <\/span>// uh oh!! Changing pointer, not pointee. This breaks the<\/span>
    <\/span>// relationship between the parameter and argument<\/span>
    <\/span>list<\/span> <\/span>=<\/span> <\/span>temp<\/span>;<\/span>
  <\/span>}<\/span>


  <\/span>/*
   *pre: list != null, newSize >= 0
   *post: returns an array of size newSize. Elements from 0 to newSize - 1
   *  will be copied into the new array
   */<\/span>
  <\/span>public<\/span> <\/span>static<\/span> <\/span>int<\/span>[]<\/span> <\/span>goodResize<\/span>(<\/span>int<\/span>[]<\/span> <\/span>list<\/span>,<\/span> <\/span>int<\/span> <\/span>newSize<\/span>)<\/span>
  <\/span>{<\/span>  <\/span>assert<\/span> <\/span>list<\/span> <\/span>!=<\/span> <\/span>null<\/span> <\/span>&&<\/span> <\/span>newSize<\/span> <\/span>>=<\/span> <\/span>0<\/span> <\/span>:<\/span> <\/span>"<\/span>failed precondition<\/span>"<\/span><\/span>;<\/span>

    <\/span>int<\/span>[]<\/span> <\/span>result<\/span> <\/span>=<\/span> <\/span>new<\/span> <\/span>int<\/span>[<\/span>newSize<\/span>]<\/span>;<\/span>
    <\/span>int<\/span> <\/span>limit<\/span> <\/span>=<\/span> <\/span>Math<\/span>.<\/span>min<\/span>(<\/span>list<\/span>.<\/span>length<\/span>,<\/span> <\/span>newSize<\/span>)<\/span>;<\/span>

    <\/span>for<\/span>(<\/span>int<\/span> <\/span>i<\/span> <\/span>=<\/span> <\/span>0<\/span>;<\/span> <\/span>i<\/span> <\/span><<\/span> <\/span>limit<\/span>;<\/span> <\/span>i<\/span>++<\/span>)<\/span>
    <\/span>{<\/span>  <\/span>result<\/span>[<\/span>i<\/span>]<\/span> <\/span>=<\/span> <\/span>list<\/span>[<\/span>i<\/span>]<\/span>;<\/span>
    <\/span>}<\/span>

    <\/span>return<\/span> <\/span>result<\/span>;<\/span>
  <\/span>}<\/span>


  <\/span>/*
   *pre: list != null
   *post: prints out the indices and values of all pairs of numbers
   *in list such that list[a] + list[b] = target
   */<\/span>
  <\/span>public<\/span> <\/span>static<\/span> <\/span>void<\/span> <\/span>findAndPrintPairs<\/span>(<\/span>int<\/span>[]<\/span> <\/span>list<\/span>,<\/span> <\/span>int<\/span> <\/span>target<\/span>)<\/span>
  <\/span>{<\/span>  <\/span>assert<\/span> <\/span>list<\/span> <\/span>!=<\/span> <\/span>null<\/span> <\/span>:<\/span> <\/span>"<\/span>failed precondition<\/span>"<\/span><\/span>;<\/span>

    <\/span>for<\/span>(<\/span>int<\/span> <\/span>i<\/span> <\/span>=<\/span> <\/span>0<\/span>;<\/span> <\/span>i<\/span> <\/span><<\/span> <\/span>list<\/span>.<\/span>length<\/span>;<\/span> <\/span>i<\/span>++<\/span>)<\/span>
    <\/span>{<\/span>  <\/span>for<\/span>(<\/span>int<\/span> <\/span>j<\/span> <\/span>=<\/span> <\/span>i<\/span> <\/span>+<\/span> <\/span>1<\/span>;<\/span> <\/span>j<\/span> <\/span><<\/span> <\/span>list<\/span>.<\/span>length<\/span>;<\/span> <\/span>j<\/span>++<\/span>)<\/span>
      <\/span>{<\/span>  <\/span>if<\/span>(<\/span>list<\/span>[<\/span>i<\/span>]<\/span> <\/span>+<\/span> <\/span>list<\/span>[<\/span>j<\/span>]<\/span> <\/span>==<\/span> <\/span>target<\/span>)<\/span>
        <\/span>{<\/span>  <\/span>System<\/span>.<\/span>out<\/span>.<\/span>println<\/span>(<\/span>"<\/span>The two elements at indices <\/span>"<\/span><\/span> <\/span>+<\/span> <\/span>i<\/span> <\/span>+<\/span> <\/span>"<\/span> and <\/span>"<\/span><\/span> <\/span>+<\/span> <\/span>j<\/span>
            <\/span>+<\/span> <\/span>"<\/span> are <\/span>"<\/span><\/span> <\/span>+<\/span> <\/span>list<\/span>[<\/span>i<\/span>]<\/span> <\/span>+<\/span> <\/span>"<\/span> and <\/span>"<\/span><\/span> <\/span>+<\/span> <\/span>list<\/span>[<\/span>j<\/span>]<\/span> <\/span>+<\/span> <\/span>"<\/span> add up to <\/span>"<\/span><\/span> <\/span>+<\/span> <\/span>target<\/span>)<\/span>;<\/span>
        <\/span>}<\/span>
      <\/span>}<\/span>
    <\/span>}<\/span>
  <\/span>}<\/span>


  <\/span>/*
   *pre: list != null;
   *post: sort the elements of list so that they are in ascending order
   */<\/span>
  <\/span>public<\/span> <\/span>static<\/span> <\/span>void<\/span> <\/span>bubblesort<\/span>(<\/span>int<\/span>[]<\/span> <\/span>list<\/span>)<\/span>
  <\/span>{<\/span>
    <\/span>assert<\/span> <\/span>list<\/span> <\/span>!=<\/span> <\/span>null<\/span> <\/span>:<\/span> <\/span>"<\/span>failed precondition<\/span>"<\/span><\/span>;<\/span>

    <\/span>int<\/span> <\/span>temp<\/span>;<\/span>
    <\/span>boolean<\/span> <\/span>changed<\/span> <\/span>=<\/span> <\/span>true<\/span>;<\/span>
    <\/span>for<\/span>(<\/span>int<\/span> <\/span>i<\/span> <\/span>=<\/span> <\/span>0<\/span>;<\/span> <\/span>i<\/span> <\/span><<\/span> <\/span>list<\/span>.<\/span>length<\/span> <\/span>&&<\/span> <\/span>changed<\/span>;<\/span> <\/span>i<\/span>++<\/span>)<\/span>
    <\/span>{<\/span>  <\/span>changed<\/span> <\/span>=<\/span> <\/span>false<\/span>;<\/span>
      <\/span>for<\/span>(<\/span>int<\/span> <\/span>j<\/span> <\/span>=<\/span> <\/span>0<\/span>;<\/span> <\/span>j<\/span> <\/span><<\/span> <\/span>list<\/span>.<\/span>length<\/span> <\/span>-<\/span> <\/span>i<\/span> <\/span>-<\/span> <\/span>1<\/span>;<\/span> <\/span>j<\/span>++<\/span>)<\/span>
      <\/span>{<\/span>  <\/span>assert<\/span> <\/span>(<\/span>j<\/span> <\/span>><\/span> <\/span>0<\/span>)<\/span> <\/span>&&<\/span> <\/span>(<\/span>j<\/span> <\/span>+<\/span> <\/span>1<\/span> <\/span><<\/span> <\/span>list<\/span>.<\/span>length<\/span>)<\/span> <\/span>:<\/span> <\/span>"<\/span>loop counter j <\/span>"<\/span><\/span> <\/span>+<\/span> <\/span>j<\/span> <\/span>+<\/span>
          <\/span>"<\/span>is out of bounds.<\/span>"<\/span><\/span>;<\/span>
        <\/span>if<\/span>(<\/span>list<\/span>[<\/span>j<\/span>]<\/span> <\/span>><\/span> <\/span>list<\/span>[<\/span>j<\/span>+<\/span>1<\/span>]<\/span>)<\/span>
        <\/span>{<\/span>  <\/span>changed<\/span> <\/span>=<\/span> <\/span>true<\/span>;<\/span>
          <\/span>temp<\/span> <\/span>=<\/span> <\/span>list<\/span>[<\/span>j<\/span> <\/span>+<\/span> <\/span>1<\/span>]<\/span>;<\/span>
          <\/span>list<\/span>[<\/span>j<\/span> <\/span>+<\/span> <\/span>1<\/span>]<\/span> <\/span>=<\/span> <\/span>list<\/span>[<\/span>j<\/span>]<\/span>;<\/span>
          <\/span>list<\/span>[<\/span>j<\/span>]<\/span> <\/span>=<\/span> <\/span>temp<\/span>;<\/span>
        <\/span>}<\/span>
      <\/span>}<\/span>
    <\/span>}<\/span>

    <\/span>assert<\/span> <\/span>isAscending<\/span>(<\/span> <\/span>list<\/span> <\/span>)<\/span>;<\/span>
  <\/span>}<\/span>


  <\/span>public<\/span> <\/span>static<\/span> <\/span>void<\/span> <\/span>showList<\/span>(<\/span>int<\/span>[]<\/span> <\/span>list<\/span>)<\/span>
  <\/span>{<\/span>  <\/span>for<\/span>(<\/span>int<\/span> <\/span>i<\/span> <\/span>=<\/span> <\/span>0<\/span>;<\/span> <\/span>i<\/span> <\/span><<\/span> <\/span>list<\/span>.<\/span>length<\/span>;<\/span> <\/span>i<\/span>++<\/span>)<\/span>
      <\/span>System<\/span>.<\/span>out<\/span>.<\/span>print<\/span>(<\/span> <\/span>list<\/span>[<\/span>i<\/span>]<\/span> <\/span>+<\/span> <\/span>"<\/span> <\/span>"<\/span><\/span> <\/span>)<\/span>;<\/span>
    <\/span>System<\/span>.<\/span>out<\/span>.<\/span>println<\/span>(<\/span>)<\/span>;<\/span>
  <\/span>}<\/span>

  <\/span>/*   pre: list != null
    post: return true if list is sorted in ascedning order, false otherwise
  */<\/span>
  <\/span>public<\/span> <\/span>static<\/span> <\/span>boolean<\/span> <\/span>isAscending<\/span>(<\/span> <\/span>int<\/span>[]<\/span> <\/span>list<\/span> <\/span>)<\/span>
  <\/span>{<\/span>  <\/span>boolean<\/span> <\/span>ascending<\/span> <\/span>=<\/span> <\/span>true<\/span>;<\/span>
    <\/span>int<\/span> <\/span>index<\/span> <\/span>=<\/span> <\/span>1<\/span>;<\/span>
    <\/span>while<\/span>(<\/span> <\/span>ascending<\/span> <\/span>&&<\/span> <\/span>index<\/span> <\/span><<\/span> <\/span>list<\/span>.<\/span>length<\/span> <\/span>)<\/span>
    <\/span>{<\/span>  <\/span>assert<\/span> <\/span>index<\/span> <\/span>>=<\/span> <\/span>0<\/span> <\/span>&&<\/span> <\/span>index<\/span> <\/span><<\/span> <\/span>list<\/span>.<\/span>length<\/span>;<\/span>

      <\/span>ascending<\/span> <\/span>=<\/span> <\/span>(<\/span>list<\/span>[<\/span>index<\/span> <\/span>-<\/span> <\/span>1<\/span>]<\/span> <\/span><=<\/span> <\/span>list<\/span>[<\/span>index<\/span>]<\/span>)<\/span>;<\/span>
      <\/span>index<\/span>++<\/span>;<\/span>
    <\/span>}<\/span>

    <\/span>return<\/span> <\/span>ascending<\/span>;<\/span>
  <\/span>}<\/span>
<\/span>}<\/span><\/pre><\/td>\n<\/tr><\/table>\n\n");