കമ്പ്യൂട്ടറുകൾ, പ്രോഗ്രാമിംഗ്
തരംതിരിക്കലും "ബബിൾ": പ്രോഗ്രാമിംഗ് പെർ വിദ്യകൾ
ബബിൾ അടുക്കുക മാത്രമേ പ്രസ്തുത സംഘടിപ്പിക്കാൻ വേഗത കുറഞ്ഞ വഴികൾ ലിസ്റ്റ് അടയുന്നു, വേഗതയേറിയ രീതി എന്നു പരിഗണിക്കില്ല. എന്നിരുന്നാലും, അതിന്റെ ഗുണങ്ങളുണ്ട്. അങ്ങനെ, ബബിൾ നിർണായക രീതി - ഏറ്റവും നിങ്ങൾ ഒരു പ്രത്യേക ക്രമത്തിൽ ഇനങ്ങൾ ഒരുക്കണമെന്നും ചെയ്യണമെങ്കിൽ, പ്രശ്നം ഒരു സ്വാഭാവികവുമായ ലോജിക്കൽ പരിഹാരം ആണ് എന്നും. വെറും സഹജാവബോധം പ്രകാരം - സ്വയം ഒരു സാധാരണ വ്യക്തി, ഉദാഹരണത്തിന്, അത് അവരെ ഉപയോഗിക്കും.
ഇത്തരം ഒരു അസാധാരണ പേര് എവിടെ ചെയ്തു?
രീതി പേര് വെള്ളത്തിൽ എയർ കുമിളകൾ താരതമ്യപ്പെടുത്തുന്നതാണു് ഉപയോഗിച്ച് വന്നു. ഇത് ഒരു അന്ധവിശ്വാസം ആകുന്നു. ചെറിയ വായു കുമിളകൾ പോലെ മേലോട്ടു എഴുന്നേറ്റു - അവരുടെ സാന്ദ്രത ഒരു ദ്രാവകം (ഈ കേസിൽ - വെള്ളം) വലിയവൻ കാരണം, ഓരോ അറേ ഘടകം, ചെറിയ റൂംസ്, പട്ടികയിൽ നമ്പറുകൾ മുകളിൽ കൂടുതൽ ക്രമേണ വഴി.
അൽഗോരിതം വിവരണം
താഴെ പറയുന്നു ബബിൾ ക്രമപ്പെടുത്തൽ നടപ്പാക്കില്ല:
- ആദ്യം കടന്നു: അറേ നമ്പറുകൾ ഘടകങ്ങൾ താരതമ്യം രണ്ടു ജോഡി എടുത്ത കൂടാതെ ആണ്. രണ്ട്-മനുഷ്യൻ ടീം ആദ്യ മൂല്യം ചില ഘടകങ്ങൾ രണ്ടാം വലിയവൻ എങ്കിൽ, പ്രോഗ്രാം നാണ്യ സ്ഥലങ്ങൾ ചെയ്യുന്നു;
- തുടർന്ന്, ഏറ്റവും വലിയ എണ്ണം കൊള്ളുന്നില്ല ശ്രേണിയുടെ അവസാനം. കൊണ്ട്, എല്ലാ മറ്റ് ഘടകങ്ങൾ നിലനിൽക്കും ഒരു നാലിലൊന്നും രീതിയിൽ സമയത്ത്, കൂടുതൽ വർഗ്ഗമാണിത് ആവശ്യമായ;
- അതിനാൽ ഒരു രണ്ടാം പാസ് ആവശ്യമായ: കഴിഞ്ഞ (ഇതിനകം വിവരിച്ചിരിക്കുന്നു) .അതിനാല് ഉണ്ടാക്കി താരതമ്യം ഒട്ടേറെ ആണ് - ഒന്നു;
- ചുരം നമ്പർ മൂന്ന് താരതമ്യം, ഒന്നാം അധികം രണ്ടാം ഒന്നിലധികം കുറവ്, രണ്ട്,. ഇത്യാദി;
- ഓരോ വേദഭാഗം (ചുരം നമ്പർ) താരതമ്യം (അണിനിരന്നു എല്ലാ മൂല്യങ്ങളും, പ്രത്യേക എണ്ണം) മൈനസ് ഉണ്ട് എന്ന് ചുരുക്കത്തിൽ.
ഒരു പ്രോഗ്രാമിന്റെ പോലും അൽപ്പകാലത്തേയ്ക്കുള്ള അൽഗോരിതം എഴുതിയ കഴിയും:
- കാലം ഏത് രണ്ട് സംഖ്യകൾ കണ്ടെത്തി പോലെ, അവരിൽ രണ്ടാം ആദ്യ വലുതായിരിക്കും എന്നു ബന്ധിക്കപ്പെട്ടിരിക്കുന്നു സംഖ്യകളുടെ ഒരു അറേ പരിശോധിക്കുകയും ചെയ്യുന്നു;
- തെറ്റായി അറേ സോഫ്റ്റ്വെയർ അക്കങ്ങള് ഓരോ മറ്റ് ഘടകങ്ങൾ ബന്ധപ്പെട്ട് സ്ഥാനം.
വിവരിച്ച അൽഗോരിതം അടിസ്ഥാനമാക്കി പ്സെഉദൊചൊദെ
താഴെ പോലെ ലളിതമായ നടപ്പിലാക്കൽ പുറത്തു കൊണ്ടുപോയി:
സൊര്തിരൊവ്ക_പുജിര്കൊമ് നടപടിക്രമം;
തുടക്കം
കൊനെഛീ_ഇംദെക്സ ചെയ്യാൻ നഛല്നീ_ഇംദെക്സ നിന്നും ജെ വേണ്ടി സൈക്കിൾ;
നഛല്നീ_ഇംദെക്സ നിന്ന് ഞാൻ കൊനെഛീ_ഇംദെക്സ-1 വേണ്ടി സൈക്കിൾ;
മഷിവ് എങ്കിൽ [ഞാൻ]> മഷിവ് [ഞാൻ + 1] (ആദ്യ ഘടകം രണ്ടാം വലിയ), പിന്നെ:
(സ്ഥലങ്ങൾ മൂല്യങ്ങൾ മാറ്റുക);
അവസാനം
തീർച്ചയായും, ഈ ലാളിത്യം മാത്രം സാഹചര്യം അഗ്ഗ്രവതെസ്: ലളിതവും അൽഗോരിതം, കൂടുതൽ സുഖം വെളിപ്പെടുത്തും. സമയം നിക്ഷേപ അനുപാതം (: കാഴ്ച്ചക്കാരുടെ സമയം തുക ചെറിയ, എന്നാൽ വാസ്തവത്തിൽ ഒരു പ്രോഗ്രാമർ ഓരോ രണ്ടാമത്തെ അല്ലെങ്കിൽ മില്ലി എണ്ണം തോന്നാം ഇവിടെ ആപേക്ഷികതാ വരുന്നത്) പോലും ഒരു ചെറിയ അറേ വളരെ വലിയ ആണ്.
ഇത് മെച്ചപ്പെട്ട നടപ്പിലാക്കൽ എടുത്തു. ഉദാഹരണത്തിന്, കണക്കിലെടുത്തുകൊണ്ട് അറേ ലൊക്കേഷനുകളിൽ മൂല്യങ്ങളുടെ എക്സ്ചേഞ്ച്:
സൊര്തിരൊവ്ക_പുജിര്കൊമ് നടപടിക്രമം;
തുടക്കം
സൊര്തിരൊവ്ക = സത്യം;
സൊര്തിരൊവ്ക = സത്യം വരെ സൈക്കിൾ;
സൊര്തിരൊവ്ക = തെറ്റായ;
നഛല്നീ_ഇംദെക്സ നിന്ന് ഞാൻ കൊനെഛീ_ഇംദെക്സ-1 വേണ്ടി സൈക്കിൾ;
മഷിവ് എങ്കിൽ [ഞാൻ]> മഷിവ് [ഞാൻ + 1] (ആദ്യ ഘടകം രണ്ടാം വലിയ), പിന്നെ:
(ഘടകങ്ങൾ സ്ഥലങ്ങൾ മാറ്റം);
സൊര്തിരൊവ്ക = സത്യം; (തിരിച്ചറിഞ്ഞു എക്സ്ചേഞ്ച് പറ്റി എന്ന്).
അവസാനിപ്പിക്കുക.
പരിമിതികളും
പ്രധാന നിരാശരാക്കി - പ്രക്രിയയുടെ ദൈർഘ്യം. എത്ര സമയം നടപ്പാക്കില്ല അൽഗോരിതം sorting ബബിൾ?
ലീഡ് സമയം അണിനിരന്നു ചതുരശ്ര നമ്പറുകൾ എണ്ണം നിന്ന് കണക്കു - അതിന്റെ അന്തിമഫലം ആനുപാതികമാണ്.
മോശമായ അത് ഘടകങ്ങൾ മൈനസ് ഒരു മൂല്യമുണ്ട് അറേ നിരവധി തവണ കടന്നു എങ്കിൽ. കാരണം അവസാനം താരതമ്യം ഒന്നും മാത്രമാണ് ഒരു വസ്തുത, കഴിഞ്ഞ പാസ് അറേ വിലപ്പോവില്ല നടപടി മാറുന്നു മുഖേന ഇത് സംഭവിക്കുന്നു.
കൂടാതെ, ചെറിയ വലിപ്പം അറേ വേണ്ടി, അത് വിളിക്കുന്നു ഒരു ലളിതമായ എക്സ്ചേഞ്ച്, നിർണായക ഫലപ്രദമായ രീതി. പ്രക്രിയയുടെ സഹായത്തോടെ ഡാറ്റ വലിയ അളവിലുള്ള പ്രവർത്തിക്കില്ല: ഫലം പ്രോഗ്രാമിന്റെ ഒരു പിശക് അല്ലെങ്കിൽ പരാജയം ഒന്നുകിൽ ആയിരിക്കും.
അന്തസ്സ്
ബബിൾ അടുക്കുക മനസ്സിലാക്കാൻ വളരെ എളുപ്പമാണ്. ആദ്യം അതിന്റെ അറേ പാസിന്റെ ക്രമപ്പെടുത്തൽ ഘടകങ്ങൾ പഠനത്തിൽ സാങ്കേതിക സർവ്വകലാശാലകളിൽ പാഠ്യപദ്ധതി. രീതി ശരിയായ ക്രമത്തിൽ ദെല്ഫി പ്രോഗ്രാമിംഗ് ഭാഷ ഇരുവരും (എൽ (ദെല്ഫി), സി / സി ++ (സി / സി പ്ലസ് പ്ലസ്), ലൊക്കേഷൻ അൽഗോരിതം ഒരു അവിശ്വസനീയമാംവിധം ലളിതമായ മൂല്യങ്ങൾ നടപ്പാക്കാൻ ചെയ്തത് എളുപ്പമാണ് പാസ്കൽ (പാസ്കൽ). ബബിൾ ക്രമപ്പെടുത്തൽ തുടക്കക്കാർ അനുയോജ്യം.
കാരണം അൽഗോരിതം എന്ന ദോഷങ്ങളുമുണ്ട് വരെ പാഠ്യേതര ആവശ്യങ്ങൾക്ക് ഉപയോഗിച്ചിട്ടില്ല.
വിഷ്വൽ വർഗ്ഗമാണിത് തത്വത്തിൽ
അറേ 8 22 4 74 44 37 1 7 പ്രാരംഭ കാഴ്ച
ഘട്ടം 1 8 22 4 74 44 37 1 7
8 22 4 74 44 1 37 7
8 22 4 74 1 44 37 7
8 22 4 1 74 44 37 7
8 22 1 4 74 44 37 7
8 1 22 4 74 44 37 7
1 8 22 4 74 44 37 7
ഘട്ടം 2 1 8 22 4 74 44 7 37
1 8 22 4 74 7 44 37
1 8 22 4 7 74 44 37
1 8 22 4 7 74 44 37
1 8 4 22 7 74 44 37
1 4 8 22 7 74 44 37
ഘട്ടം 3 1 4 8 22 7 74 37 44
1 4 8 22 7 37 74 44
1 4 8 22 7 37 74 44
1 4 8 7 22 37 74 44
1 4 7 8 22 37 74 44
ഘട്ടം 4 1 4 7 8 22 37 44 74
1 4 7 8 22 37 44 74
1 4 7 8 22 37 44 74
1 4 7 8 22 37 44 74
ഘട്ടം 5 1 4 7 8 22 37 44 74
1 4 7 8 22 37 44 74
1 4 7 8 22 37 44 74
ഘട്ടം 6 1 4 7 8 22 37 44 74
1 4 7 8 22 37 44 74
ഘട്ടം 7 1 4 7 8 22 37 44 74
പാസ്കൽ ൽ ബബിൾ അടുക്കുക ഉദാഹരണം
ഉദാഹരണം:
കൺസ്ട്രക്റ്റർ കൊല്_മസ് = 10;
വേരിയബിൾ മഷിവ്: അറേ [൧..കൊല്_മസ്] എന്ന പൂർണ്ണസംഖ്യ;
A, B, K: പൂർണ്ണസംഖ്യ;
തുടങ്ങുക
വ്രിതെല്ന് ( 'ഇൻപുട്ട്', കൊല്_മസ്, 'ശ്രേണിയുടെ ഘടകങ്ങൾ');
ഒരു: = 1 കൊല്_മസ് വരെ രെഅദ്ല്ന് (മഷിവ് [ഒരു ചെയ്യാൻ ]);
= 1 കൊല്_മസ്-1 തുടങ്ങും: ഒരു വേണ്ടി
ബി വേണ്ടി: = A + 1 കൊല്_മസ് തുടങ്ങും എന്തു
[ഒരു]> മഷിവ് [മഷിവ് എങ്കിൽ ബി] പിന്നെ തുടങ്ങും
K: = മഷിവ് [ഒരു]; മഷിവ് [ഒരു]: = മഷിവ് [ ബി]; മഷിവ് [ബി]: = k;
അവസാനം;
അവസാനം;
അവസാനം;
വ്രിതെല്ന് ( 'വിധത്തിൽ');
ഒരു: = 1 കൊല്_മസ് വരെ വ്രിതെല്ന് (മഷിവ് [ഒരു ചെയ്യാൻ ]);
അവസാനം.
ഉദാഹരണത്തിന് ബബിൾ സി ഭാഷ പെർ (സി)
ഉദാഹരണം:
#ഇന്ച്ലുദെ
#ഇന്ച്ലുദെ
യ പ്രധാന (യ അര്ഗ്ച്, ചാർ * അര്ഗ്വ് [])
{
സംവേദനാത്മക മഷിവ് [8] = {36, 697, 73, 82, 68, 12, 183, 88}, ഞാൻ, പുറങ്ങൾ;
{(;;) വേണ്ടി
പുറങ്ങൾ = 0;
{- (; ഞാൻ> 0 ഞാൻ = 7) വേണ്ടി
([ഞാൻ] <മഷിവ് മഷിവ് എങ്കിൽ [ജമാത്ത് 1]) {
സ്വാപ്പ് ([ഞാൻ], മഷിവ് മഷിവ് [ജമാത്ത് 1]);
മുതലുള്ള ++;
}
}
എങ്കിൽ (പുറങ്ങൾ == 0) ബ്രേക്ക്;
}
ഗെത്ഛ് (); // ഡിസ്പ്ലേ കാലതാമസം
മടക്കം 0;
}.
Similar articles
Trending Now