PHP Bubble Sort Algorithm_PHP Tutorial
Basic concepts
The basic concept of bubble sorting is: compare two adjacent numbers in sequence, put the decimal in front, and put the larger Put the numbers at the back. That is, first compare the first and second numbers, put the decimals first and the large numbers last. Then compare the second number and the third number, put the decimal in front and the large number in the back, and continue like this until comparing the last two numbers, put the decimal in front and the large number in the back. Repeat the above process, still starting from the first pair of numbers (because it may be due to the exchange of the second number and the third number that the first number is no longer greater than the second number), put the decimal first and the large number first. Finally, compare until a pair of adjacent numbers before the smallest number, put the decimal in front and the large number in the back. The second pass ends and a new minimum number is obtained in the penultimate number. Continue like this until the sorting is finally completed.
Because in the sorting process, decimals are always placed forward and large numbers are placed backward, which is equivalent to bubbles rising, so it is called bubble sorting.
is implemented with a double loop, with the outer loop variable set to i and the inner loop variable set to j. The outer loop is repeated 9 times, and the inner loop is repeated 9, 8,..., 1 time. The two elements compared each time are related to the inner loop j. They can be identified by a[j] and a[j+1] respectively. The values of i are 1, 2,...,9 in order. For each The values of i and j are 1,2,…10-i in sequence.
produces
In many programming, we need to sort a sequence to facilitate statistics. Common sorting methods include bubble sort and binary tree Sorting, selection sorting and more. Bubble sorting has always been popular due to its concise thinking method and relatively high efficiency.
The sorting process
Imagine that the sorted array R[1..N] is erected vertically, and each data element is viewed Make weighted bubbles. According to the principle that light bubbles cannot be under heavy bubbles, scan the array R from bottom to top. Whenever a light bubble that violates this principle is scanned, make it "float" upward. Repeat this until the end. For any two bubbles, the lighter one is at the top and the heavier one is at the bottom.
The sorting implementation process is as follows:
49 38 65 97 76 13 27
38 49 65 97 76 13 27 Compare the 1st and 2nd numbers, put the smaller ones in front and the larger ones in the back 38 49 65 97 76 13 27 Compare the 2nd and 3rd numbers, put the small ones in front, and put the big ones in the back 38 49 65 97 76 13 27 Compare the 3rd and 4th numbers, put the small ones in front, and put the big ones in the back 38 49 65 76 97 13 27 Compare the 4th and 5th numbers, put the smaller ones in front, and put the larger ones in the back 38 49 65 76 13 97 27 Compare the 5th and 6th numbers, put the smaller ones Put it in front, put the big one After 38 49 65 76 13 27 97 Compare the 6th and 7th numbers, put the smaller ones in the front and the larger ones in the back. At this point, the first comparison is over and the following ordering is obtained: 38 49 65 76 13 27 97
Then Continue the comparison according to the first sorting method until the sorting is completed.
<span $arr</span> = <span array</span>(345,4,17,6,52,16,58,69,32,8,234<span ); </span><span for</span>(<span $i</span>=1;<span $i</span><<span count</span>(<span $arr</span>);<span $i</span>++<span ){ </span><span for</span>(<span $j</span>=<span count</span>(<span $arr</span>)-1;<span $j</span>>=<span $i</span>;<span $j</span>--<span ){ </span><span if</span>(<span $arr</span>[<span $j</span>]<<span $arr</span>[<span $j</span>-1<span ]){ </span><span $temp</span> = <span $arr</span>[<span $j</span>-1<span ]; </span><span $arr</span>[<span $j</span>-1] = <span $arr</span>[<span $j</span><span ]; </span><span $arr</span>[<span $j</span>] = <span $temp</span><span ; } } } </span>

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

Working with database in CakePHP is very easy. We will understand the CRUD (Create, Read, Update, Delete) operations in this chapter.

To work on file upload we are going to use the form helper. Here, is an example for file upload.

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

Validator can be created by adding the following two lines in the controller.

Logging in CakePHP is a very easy task. You just have to use one function. You can log errors, exceptions, user activities, action taken by users, for any background process like cronjob. Logging data in CakePHP is easy. The log() function is provide

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c
