目次
冒泡排序法演示

PHP的简易冒泡法代码分享_PHP

Jun 01, 2016 pm 12:09 PM
バブル

很基础的东西,感觉代码还不够简洁,希望高手指导修改
复制代码 代码如下:
function BubbleSort($str){
for($i=0;$ifor ($k=count($str)-2;$k>=$i;$k--){//将这个值向前冒泡;
if($str[$k+1]$tmp=$str[$k+1];
$str[$k+1]=$str[$k];
$str[$k]=$tmp;
}
}
}
return $str;
}
//以下是测试
$str=array(5,8,2,6,10,0,3,12,11);
print_r(BubbleSort($str));
?>

php 冒泡排序2
基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到最大数前的一对相邻数,将小数放前,大数放后,第二趟结束,在倒数第二个数中得到一个新的最大数。如此下去,直至最终完成排序。
  由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。
  用二重循环实现,外循环变量设为i,内循环变量设为j。外循环重复9次,内循环依次重复 9,8,...,1次。每次进行比较的两个元素都是与内循环j有关的,它们可以分别用a[j]和a[j+1]标识,i的值依次为1,2,...,9,对于每一个i, j的
值依次为1,2,...10-i。
复制代码 代码如下:
function asc($a)
{
for($i=0;$i{
for($j=0;$j{
if($a[$j]>$a[$j+1])
{
$tmp=$a[$j+1];
$a[$j+1]=$a[$j];
$a[$j]=$tmp;
}
}
}
print_r($a);
}
$a = array(9,8,17,6,26,4,33,2,1);
print_r(asc($a));
?>


function desc($a)
{
$c=array();
for($i=count($a)-1;$i>0;$i--)
{
for($j=0;$j{
if($a[$j]{
$tmp=$a[$j+1];
$a[$j+1]=$a[$j];
$a[$j]=$tmp;
}
}
}
print_r($a);
}
$arr=array(33,24,56,55,59);
desc($arr);
?> 

PHP冒泡排序法演示
以前面试的时候考官出的笔试题,觉得比较XX,写程序应该是在计算机上面,而不是在笔头上。
PHP程序文件sort_bubble_up.php
复制代码 代码如下:

冒泡排序法演示


冒泡排序法演示



//随机生成数组
$arr=array();
echo '';
echo '';
for($i=0;$i$arr[$i]=rand();
echo "";
}
//进行冒泡法排序
for($i=9;$i>0;$i--){
echo '';
for($j=0;$jif($arr[$j]$tmp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$tmp;
}
echo '';
for($k=0;$kswitch($k){
case $j : echo '";
}
echo '';
}
}
//显示排序结果
echo '';
echo '';
for($i=0;$iecho "";
}
echo '';
?>
初始值
\$arr[$i]={$arr[$i]}
第'.(10-$i).'次
'; break;
case $j+1 : echo '
'; break;
default : echo '
';
}
echo "\$arr[$k]={$arr[$k]}
结果
\$arr[$i]={$arr[$i]}



样式表文件sort.css
复制代码 代码如下:
h1{text-align: center; color: blue;}
table{font-size: 12px; font-family: arial; background-color: black; text-align: center;}
td{background-color: white;}
.base{background-color: #0FF;}
.light{background-color: #0DD;}
.title{background-color: #3FF; text-align: center;}

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JavaScript の一般的なイベント バブリング メカニズムをマスターする JavaScript の一般的なイベント バブリング メカニズムをマスターする Feb 19, 2024 pm 04:43 PM

JavaScript における一般的なバブリング イベント: 一般的なイベントのバブリング特性を習得するには、特定のコード例が必要です。 はじめに: JavaScript では、イベント バブリングとは、イベントが最も深いネスト レベルを持つ要素から開始され、イベントが終了するまで外側の要素に伝播することを意味します。最も外側の親要素に伝播します。一般的なバブリング イベントを理解し、習得することは、ユーザー インタラクションやイベント処理をより適切に処理するのに役立ちます。この記事では、一般的なバブリング イベントをいくつか紹介し、読者の理解を助ける具体的なコード例を示します。 1. クリックイベント(クリック

どの JS イベントが上向きに伝播されませんか? どの JS イベントが上向きに伝播されませんか? Feb 19, 2024 am 08:17 AM

バブルしない JS イベントはどれですか? JavaScript では、イベント バブリングとは、要素がイベントをトリガーすると、イベントがドキュメント ルート ノードにバブリングされるまで、上位レベルの要素にバブリングされることを意味します。イベント ハンドラーは、バブルアップされた順序で実行されます。ただし、すべてのイベントがバブル化するわけではありません。一部のイベントは、トリガーされた後、上位レベルの要素にバブリングせずに、ターゲット要素のイベント ハンドラーのみを実行します。以下に、バブルしない一般的なイベント、フォーカス イベントとブラー イベントをいくつか示します。

クリック イベント バブリングを探索し、フロントエンド開発の重要な原則を習得します クリック イベント バブリングを探索し、フロントエンド開発の重要な原則を習得します Jan 13, 2024 am 10:56 AM

クリック イベント バブリングを学習し、フロントエンド開発の主要な概念をマスターします。特定のコード例が必要です。フロントエンド開発は今日のインターネット時代において重要な分野であり、イベント バブリングはフロントエンド開発における重要な概念の 1 つです。イベント バブリングを理解して習得することは、効率的なフロントエンド コードを作成するために重要です。この記事では、イベント バブリングとは何か、およびフロントエンド開発でイベント バブリングの概念を使用する方法を紹介します。 1. イベント バブリングとは何ですか? イベント バブリングとは、要素上のイベントがトリガーされると、最初に最も内側の要素から開始され、その後段階的に親要素に進むことを意味します。

キャプチャが先か、バブルが先か?イベントプロセスの長所と短所を分析する キャプチャが先か、バブルが先か?イベントプロセスの長所と短所を分析する Feb 21, 2024 pm 02:36 PM

キャプチャが先か、バブルが先か?イベント プロセスの長所と短所の分析 イベント プロセスは Web 開発における重要な概念であり、イベントの発生から処理までのプロセスを表します。イベントを処理するときは、キャプチャしてからバブルする、およびバブルしてからキャプチャするという 2 つの主なプロセス モデルがあります。これら 2 つのモデルには、さまざまなシナリオで独自の長所と短所があるため、実際の状況に基づいて適切なモデルを選択する必要があります。最初にキャプチャしてからバブリングするということは、イベント バブリング フェーズの前にイベント キャプチャ フェーズが実行されることを意味します。イベント キャプチャ フェーズは、イベント ターゲットのルート ノードから開始され、ターゲット要素に到達するまで段階的に続行されます。

クリック イベント バブリングを利用して Web ページのインタラクション エクスペリエンスを向上させる方法 クリック イベント バブリングを利用して Web ページのインタラクション エクスペリエンスを向上させる方法 Jan 13, 2024 pm 02:23 PM

クリック イベント バブリングを使用して、より柔軟な Web ページ インタラクション エクスペリエンスを実現する方法 はじめに: フロントエンド開発では、Web ページの一部の要素にクリック イベントを追加する必要がある状況によく遭遇します。ただし、ページ内に多数の要素がある場合、各要素にクリック イベントを追加するのは非常に面倒で非効率的になります。クリック イベント バブリングは、パブリックの親要素にクリック イベントを追加して、より柔軟な Web ページ インタラクション エクスペリエンスを実現することで、この問題の解決に役立ちます。 1. クリック イベント バブリングの原理 クリック イベント バブリングとは、要素上のクリック イベントがトリガーされるときを指します。

クリック イベントのバブリング メカニズムと Web ページ インタラクションへの影響 クリック イベントのバブリング メカニズムと Web ページ インタラクションへの影響 Jan 13, 2024 pm 02:34 PM

クリック イベント バブリングの役割と Web ページ インタラクションへの影響 Web 開発において、イベントはインタラクションを実現し、ユーザー操作に応答するための鍵となります。その中でも、イベント バブリングは、入れ子になった要素階層内のイベントに複数の要素が同時に応答できるようにする一般的なイベント メカニズムです。この記事では、クリック イベント バブリングの役割と Web ページ インタラクションへの影響について詳しく説明し、いくつかの具体的なコード例を示します。 1. クリック イベント バブリングの概念 クリック イベント バブリング (ClickEvent Bubble) は、要素が

同じイベントでバブリングが 2 回発生するのはなぜですか? 同じイベントでバブリングが 2 回発生するのはなぜですか? Feb 19, 2024 pm 10:34 PM

同じバブルイベントが 2 回発生するのはなぜですか?イベント バブリングは、ブラウザーの一般的なイベント配信メカニズムです。要素がイベントをトリガーすると、イベントは、ドキュメントのルート要素に渡されるまで、トリガーされた要素から上位の要素に順番に渡されます。このプロセスは水中で泡が泡立つようなものであるため、イベントバブリングと呼ばれます。ただし、同じバブル イベントが 2 回発生することがあります。これはなぜでしょうか。主な理由は 2 つあります: イベント登録とイベント処理です。まず、このイベントが

イベントバブリングを学習して、複雑なインタラクティブ効果を簡単に実現 イベントバブリングを学習して、複雑なインタラクティブ効果を簡単に実現 Jan 13, 2024 am 08:01 AM

イベント バブリングをマスターし、複雑なインタラクティブな効果を簡単に実現します。特定のコード サンプルが必要です。イベント バブリング (イベント バブリング) は、フロントエンド開発における重要な概念です。要素上のイベントがトリガーされると、イベントが自動的にレポートされることを意味します。ドキュメントのルート要素に到達するまで、parent.level 要素を続けます。イベントバブリングの原理と応用をマスターすることで、複雑なインタラクティブ効果を簡単に実装し、ユーザーエクスペリエンスを向上させることができます。以下では、読者がイベント バブリングをよりよく理解し、適用できるように、特定のコード例を使用します。コード例 1: クリックして展開します

See all articles