Professional Documents
Culture Documents
Föreläsning 6
Föreläsning 6
Repetition om repetitioner
Repetitionssatser i Java:
For
While
Dowhile
Och vi ska idag ven diskutera rekursion
Strukturer fr data
Krexempel
C:\>java InUtArray
Ange max 10 tal. Q avslutar.
5293761084
Q
5.0
2.0
9.0
3.0
7.0
6.0
1.0
0.0
8.0
4.0
C:\>
Enkel sortering
Bubbelsortering id:
Algoritm i pseudokod
Array med N element given
Variabel sortera stts till sant
Upprepa s lnge som sortera r sant
sortera stts till falskt
Upprepa fr element e = 1 till e = N-1
Om array[e] > array[e+1]
Byt plats p element e och e+1
sortera stts till sant
Algoritm i Java-kod
public void sortera(double [] array)
{
boolean sortera = true;
Att skicka en array
final int N = array.length;
while( sortera )
som parameter
{
till en metod!
sortera = false;
for( int e = 0; e < N-1 ; e++ )
if( array[e] > array[e+1] )
{
double tmp = array[e];
// byt plats
array[e]
= array[e+1];
array[e+1] = tmp;
sortera = true;
// fortstt sortera
}
}
}
Frsta iterationen
5
Andra iterationen
2
Tredje iterationen
2
Fjrde iterationen
2
Femte iterationen
2
Sjtte iterationen
2
Sjunde iterationen
1
Insikter
array
sortera(double [] a)
174320
a[0]
class Person
{
private String enamn, fnamn;
private int alder;
public Person(String e, String f, int a)
{
enamn=e;
fnamn=f;
alder=a;
}
public String toString()
{
return enamn + + fnamn + , + alder;
}
public void print()
{
System.out.println( toString() );
}
}
En bild av arrayen
grupp
null
En referens
till arrayen
null
null
null
null
null
null
null
null
null
Lgg in objekt
grupp[0]
grupp[1]
grupp[2]
grupp[3]
grupp[4]
grupp[5]
grupp[6]
grupp[7]
grupp[8]
grupp[9]
=
=
=
=
=
=
=
=
=
=
new
new
new
new
new
new
new
new
new
new
Person(
Person(
Person(
Person(
Person(
Person(
Person(
Person(
Person(
Person(
Andersson,
Petterson,
Davidson,
Enoksson,
Boudien,
Hrd,
Fridegrd,
Rask,
Munter,
Sthl,
Eva,
Adam,
Anna,
Frans,
Gunilla,
Niclas,
Lisa,
Johan,
Camilla,
Peter,
22
44
15
65
24
29
33
18
20
19
);
);
);
);
);
);
);
);
);
);
En bild av arrayen
Andersson
Eva
22
grupp
grupp[0]
grupp[1]
Petterson
Adam
44
Davidson
Anna
15
grupp[2]
Boudien
Gunilla
24
Fridegrd
Lisa
33
grupp[4]
grupp[3]
grupp[5]
Enoksson
Frans
65
Hrd
Niclas
29
Munter
Camilla
20
grupp[6]
grupp[7]
Rask
Johan
18
grupp[8]
grupp[9]
Sthl
Peter
19
Personerna individuellt
Boudien
Gunilla
24
D.v.s. metodanrop
Den lokala
parameterns
namn
Arrayens
lngd!
OBS att
toString() inte
behver anges
Varning fr null!
En bild av arrayen
Andersson
Eva
22
Davidson
Anna
15
Boudien
Gunilla
24
Fridegrd
Lisa
33
Munter
Camilla
20
Rask
Johan
18
Sthl
Peter
19
grupp
null
Petterson
Adam
44
Enoksson
Frans
65
grupp
null
Analys
Kan vara null
tgrd
Kan vara null
args[1]
args[2]
args[3]
Flerdimensionella arrayer
12
65
tabell
Mental modell
1
3
5
6
4
4
65
5
2
3
3
3
12
5
3
8
tabell[ i ][ j ]
Primr array - rad
Utskrift:
1
4
2
12
3
4
3
5
5
65
3
3
6
5
3
8
Svrt att stta in objekt inne i arrayen och svrt att ta bort
element