|< 1 2 3 4 5 6 7 ... 15 >| | 150 Einträge, 15 Seiten |
$self->{'wurzel'} = newtree (\@liste);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sub ausgabe {
my $refvalue = shift;
my $self = shift;
if(defined($$refvalue{'linksweg'})) {
ausgabe($$refvalue{'linksweg'})
}
print "$$refvalue{'zahl'}\n";
if(defined($$refvalue{'rechtsweg'})) {
ausgabe($$refvalue{'rechtsweg'})
}
}
ausgabe($ref_wurzel);
1
2
3
4
5
6
7
8
my $ref_liste1 = shift;
my $zahl = shift(@$ref_liste1); #Wurzel wird mit erster Zahl der Liste1 erstellt
my $ref_wurzel = knot($zahl);
for $zahl (@$ref_liste1){
my $refvalue = $ref_wurzel;
if ($zahl)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sub ausgabe {
my $refvalue = shift;
my $self = shift;
if(defined($self->{'ref_wurzel'}->{'linksweg'}})) {
ausgabe($$refvalue{'linksweg'})
}
print "$self->{'ref_wurzel'}->{'zahl'}\n";
if(defined($self->{'ref_wurzel'}->{'rechtsweg'})) {
ausgabe($$refvalue{'rechtsweg'})
}
}
ausgabe($ref_wurzel);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
sub ausgabe {
my $self = shift;
my $refvalue = shift;
if (defined( $self->{'ref_wurzel'}->{'linksweg'} ) ) {
ausgabe( $self->{'ref_wurzel'}->{'linksweg'} )
}
print $self->{'ref_wurzel'}->{'zahl'},"\n";
if( defined( $self->{'ref_wurzel'}->{'rechtsweg'} ) ) {
ausgabe( $self->{'ref_wurzel'}->{'rechtsweg'} )
}
}
ausgabe($ref_wurzel);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#!c:/perl
use strict;
use warnings;
my @liste1 = ();
my @liste2 = (4, 28, 9, 100, 12, 84, 10, 11);
sub knot { return ( { 'zahl' => $_[0],
'linksweg' => undef,
'rechtsweg' => undef } );
}
sub newtree {
############################
#Eingabe der ersten 10 Zahlen
############################
for(0..9){
print "Bitte geben Sie eine Zahlen ein: ";
my $eingabe = <STDIN>;
chomp($eingabe);
push @liste1,$eingabe;
}
print "Sie haben folgende Zahlen eingegeben: (@liste1) \n";
######################
# Erstellen des Trees
######################
my $ref_liste1 = shift;
my $zahl = shift(@$ref_liste1); #Wurzel wird mit erster Zahl der Liste1 erstellt
my $ref_wurzel = knot($zahl);
for $zahl (@$ref_liste1){
my $refvalue = $ref_wurzel;
if ($zahl)
{
while {
############################
#Beginn des Vergleichs
if($zahl < $$refvalue{'zahl'}) {
if(defined($$refvalue{'linksweg'}))
{
$refvalue = $$refvalue{'linksweg'};
}
else {
$$refvalue{'linksweg'} = knot($zahl);
last; #Ende
}
}
#######
#wenns Links nicht mehr weiter geht, geh rechts weiter
else {
if(defined($$refvalue{'rechtsweg'}))
{
$refvalue = $$refvalue{'rechtsweg'};
}
else {
$$refvalue{'rechtsweg'} = knot($zahl);
last;
}
}
}}}
return($ref_wurzel);
}
########
#Hauptprogramm
########
###################
#Ausgabe des Trees
####
sub ausgabe {
my $refvalue = shift;
my $self = shift;
if(defined($self->{'ref_wurzel'}->{'linksweg'}})) {
ausgabe($$refvalue{'linksweg'})
}
print "$self->{'ref_wurzel'}->{'zahl'}\n";
if(defined($self->{'ref_wurzel'}->{'rechtsweg'})) {
ausgabe($$refvalue{'rechtsweg'})
}
}
ausgabe($ref_wurzel);
sub new {
my $class = shift;
my $self = {};
bless( $self, $class );
my @liste = @_;
$self->{'ref_wurzel'} = newtree (\@liste);
return $self;
}
###############
#Hinzufügen weiterer Äste
###############
sub hinzufuegen {
my $self = shift;
my @newList = my @liste2;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
my $ref_liste1 = shift;
my $zahl = shift(@$ref_liste1); #Wurzel wird mit erster Zahl der Liste1 erstellt
my $ref_wurzel = knot($zahl);
for $zahl (@$ref_liste1){
my $refvalue = $ref_wurzel;
if ($zahl)
{
while {
############################
#Beginn des Vergleichs
if($zahl < $$refvalue{'zahl'}) {
if(defined($$refvalue{'linksweg'}))
{
$refvalue = $$refvalue{'linksweg'};
|< 1 2 3 4 5 6 7 ... 15 >| | 150 Einträge, 15 Seiten |