programowanie w c++ builder
Navigation
Strona główna arrow ALGORYTMY
 
 
2008-04-14
Na początku lutego miała miejsce poteżna awaria międzykontynentalnych łącz internetowych, która spowodowała spadek ruchu w Sieci o ok. 50 %.Bliski Wschód, Indie i Pakistan miały utrudnienia w korzystaniu z Internetu.Korzystano wtedy z zapasowego łącza biegnącego po dnie Pacyfiku, jednak kabel szybko się zapchał.Początkowo podejrzewano zamach terrorystyczny, jednak po analizie zdjęć satelitarnych ujawniono, że zawinili kapitanowie 2 statków, którzy rzucili kotwice w złym miejscu.
2008-04-01
Z badań przeprowadzonych przez firmę Arbor Networks, liczba pakietów w Sieci wykorzystywanych do ataków DDoS może sięgać 2%.Każdego dnia przeprowadzanych jest ok. 1300 takich ataków.Hakerzy korzystają przy tym z łącz  Internautów.
2008-02-25

Według doniesień prasowych Wall Street Journal, Google korzystając z doświadczenia firmy Space Data zamierza stworzyć siec komunikacji bezprzewodowej typu WAN, a urządzenia przekaźnikowe miałyby być umieszczone na balonach.Sieć taka albo byłaby samodzielna, albo wspierałaby łączność na terenach wyżynnych.

2008-02-25

Nasa oraz British National Space Centerzamierzają stworzyć sieć komórkową na Księżycu do 2020 r.Sieć ta miałaby za zadanie komunikację astronautów z Ziemią oraz wspomagać komunikację na Ziemi.Rozmowy telefoniczne byłyby przesyłane za pomocą satelitów krążących wokół Księżyca.Pierwsze testy zaplanowana w 2012 r.

Sortowanie Drukuj Email
Oceny: / 2
KiepskiBardzo dobry 
Wpisał: doctor   
10.02.2007.
Sortownie bąbelkowe (ang. Bubble sort)


Często zachodzi potrzeba posortowania tablicy liczbowej.
Można do tego celu wykorzystać gotowe funkcje komponentów, np ListBox.
Ale warto samemy poznać przynajmniej jedną metodę "surowego" sortowania.

Przedstawiam metodę sortowania bąbelkowego. Po pierwsze dlatego że jest najprostsza.
Po drugie, dobrze (czyt. w miarę szybko) radzi sobie z tablicami liczbowymi do

1000 elementów.
Gdy tablica zawiera n-elementów, złożonośc obliczeniowa algorytmu wynosi Q(n^2).

Opis algorytmu

Przy każdym przejściu następuje porównanie liczby n-tej oraz (n+1)-tej.
Gdy liczba z lewej strony jest większa (zależy od porządku sortowania) niż liczba
z prawej strony, następuje ich zamiana. W przeciwnym wypadku nie dokonuje się

żadnej zmiany.
Proces sortowania kończy się, jeśli podczas zewnętrznego przejścia algorytmu (int i)

nie dokonała się żadna zamiana, tzw. "pusty przebieg".

Nazwa bierze się stąd, że przy każdym porównaniu następuję

"wypłynięcie największego bąbelka".

Przykład
Sortowanie tablicy 10 liczb.

Do tego celu użyjemy funkcji BubbleSort, którą napisałem.

Owa funkcja przyjmuje za argument
tablicę liczb, a zwraca także tablicę liczb, tyle że uporządkowaną.
Dodatkowo na kompoentach Label1 oraz Label2 wyświetla skrajne wartości

(2 Labele muszą być na formie).
 

double __fastcall TForm1::BubbleSort(double data[], int n, TLabel *L1, TLabel *L2)
{
for(int i=0;i<n;i++)
{
        for(int j=0;j<n-1;j++)
        {
                if(data[j]<data[j+1])
                {
        int tmp;
        tmp = data[j];
        data[j] = data[j+1];
        data[j+1] = tmp;
                }
        }
}
L1->Caption = data[0];
L2->Caption = data[n-1];
}


Aby funkcja była "widziana" przez kompilator, należy dodać jej deklarację

do sekcji published pliku h.

 double __fastcall BubbleSort(double data[], int n, TLabel *L1, TLabel *L2);

 oraz sama funkcja "w akcji"

double liczby[10] = {115, 23, 18, 3, 59, 99, 7, 64, 55, 8 };
BubbleSort(liczby, 10, Label1, Label2);

 Parametr int n podaje wielkość tablicy liczbowej.

Poniżej przebieg algorytmu w postaci grafów.


Zmieniony ( 10.02.2007. )
Odsłony: 5388
 

Sonda

Jaki oceniasz swoje umiejętności programistyczne w C/C++?
 

Popularne tagi

ascii auto button c++ combobox do generowania liter doctor drag and drop file *in formatowanie formatowanie liczb funkcje icony int to string keylogger klasy label liczba ktĂłra ma 100 liczba która ma 100 listbox math.h move to rs-232 showmessage string stringgrid szyfr cezara tchart timer tobject *sender updown vcl.h winexec zdarzenia zdarzenie

Darowizna dla autora

Imieniny

12 Maja 2008
Poniedziałek
Imieniny obchodzą:
Domicela, Domicjan,
Dominik, Epifani,
Flawia, Jan, Jazon,
Joanna, Pankracy,
Wszemił
Do końca roku zostało 234 dni.

Gościmy

Myśli Wielkich

Przeciwieństwem prawdy płytkiej jest fałsz, przeciwieństwem prawdy głębokiej może być inna głęboka prawda.
Albert Einstein (1879 - 1955)

Losowy obraz

bcb.jpg

 

Rekomendacje

© 2008 Kurs programowania w C++ Builder
Ansi C | Turbo Pascal - kurs | Sklep Flavon | Programowanie, projektowanie www | Tiesto

Maca | Vilcacora | Sklep zielarsko - medyczny | Flavon Max | Sprzęt rehabilitacyjny | Sklep Flavon Antyoksydanty | Suplementy diety | Sprzęt ortopedyczny | Flavon taniej | Flavonoidy | Kuchenki mikrofalowe | świetlówki energooszczędne | Grzejniki konwektorowe |



template & graphics by Ferienhaus Italien
E-learning
Dla firm oraz instytucji
edustacja.pl
Pozycjonowanie
Profesjonalne pozycjonowanie stron
www.internetica.pl
Egipt
Najlepsze wakacje w Egipcie
katalog.travelplane…
Pozycjonowanie
Pozycjonowanie stron
www.performance-med…
reklama
promocja, reklama
www.comweb.gpe.pl