Turbo C + + har genomgått ett par namnbyten , men eftersom den använder standarder som definierats av American National Standards Institute ( ANSI ) , sortering rutiner med samma syntax är körbar i alla versioner ( inklusive Turbo C om du fortfarande har en dator från 80-talet ) . Turbo C + + ersatt Turbo C omkring 1990 , augusti 2010 release kallas C + + Builder XE . Turbo C + + utökar programmeringsspråket C , alltså , de flesta C- verksamhet är också giltiga i C + + . Turbo C + + erbjuder många olika sorteringsalgoritmer , det enklaste - men kanske inte det mest effektiva för mycket långa listor - är bubblan - sort algoritm . Denna algoritm jämför element i listan och swappar värden tills listan är sorterad . Instruktioner
1
Deklarera en variabel som heter " temp " som är av samma typ som den lista du sorterar . Till exempel, om du sorterar en array av heltal kallas " integerList " från lägsta till högsta , deklarera variabeln temp enligt följande :
int temp ,
Senare kommer denna variabel temporärt hålla värden . för att byta
2
Deklarera två heltalsvariabler - " . j " " i " och Dessa kommer att komma åt element i listan array . Till exempel , för att komma åt elementet j , använder du syntaxen " integerList [ j ] . " Det är snyggare att deklarera dessa variabler tillsammans variabeln temp enligt följande :
temp
int , i, j ;
3
Deklarera ett heltal variabel som heter " listLength " och tilldela till det antalet element i listan. Till exempel :
int listLength = 30 ;
4
Konstruera ramen för ett " för " loop , använda variabeln i som iterator i sin argumentation , noll för det ursprungliga värdet , listLength för slutvärdet och en steglängd på en . A " för " loop innehåller kod som upprepade gånger får avrättas över det antal steg som definieras av " för " loopar " tre argument , bland annat startvärde , slutvärde och steg storlek . Gör detta på följande sätt :
for (i = 0 ; i. < listLength , i + + ) katalog
{
koden går in här
}
5
Nest annan " för " loop inne i föregående slingan , den här gången med hjälp av variabeln j som iterator , i +1 för startvärde , listLength för slutvärdet och en steglängd på en . Koden bör nu se ut så här :
int temp , i, j , listLength = 30 ;
for (i = 0 ; i. < listLength , i + + ) katalog
{
för ( j = i +1 , j < listLength , j + + ) katalog
{
kod går här
}
}
Detta kommer först plocka elementet i från arrayen sorteras och sedan gå igenom resten av listan , jämför elementet j till elementet i och byta värden om element i är mindre än elementet j .
6
in ett "om " loop för att testa om det j'th elementet är större än det i: te enligt följande :
temp
int , i, j , listLength = 30 ;
for (i = 0 ; i. < listLength , i + + ) katalog
{
för ( j = i +1 , j < listLength , j + + ) katalog
{
om ( integerList [ i] > integerList [ j ] ) katalog
{
kod går här
}
}
}
7
in koden för att byta element i och j om integerList [ i] är större än integerList [ j ] enligt följande :
int temp , i, j , listLength = 30 ;
for (i = 0 ; i. < listLength , i + + ) katalog
{
för ( j = i +1 ; j < listLength , j + + ) katalog
{
om ( integerList [ i] > att variabeln temp förklarat tidigare används nu som en tillfällig innehavare av objekten i listan .