排序算法
-
冒泡排序
-
实现原理
① 首先将所有待排序的数字放入工作列表中。
② 从列表的第一个数字到倒数第二个数字,逐个检查:若某一位上的数字大于他的下一位,则将它与它的下一位交换。
③ 重复步骤②,直至再也不能交换。
-
代码实现
';<span style="color: #008080;"> 1</span> <span style="color: #000000;">php </span><span style="color: #008080;"> 2</span> <span style="color: #0000ff;">function</span> bubbingSort(<span style="color: #0000ff;">array</span> <span style="color: #800080;">$array</span><span style="color: #000000;">) </span><span style="color: #008080;"> 3</span> <span style="color: #000000;">{ </span><span style="color: #008080;"> 4</span> <span style="color: #0000ff;">for</span>(<span style="color: #800080;">$i</span>=0, <span style="color: #800080;">$len</span>=<span style="color: #008080;">count</span>(<span style="color: #800080;">$array</span>)-1; <span style="color: #800080;">$i</span>$len; ++<span style="color: #800080;">$i</span><span style="color: #000000;">) </span><span style="color: #008080;"> 5</span> <span style="color: #000000;"> { </span><span style="color: #008080;"> 6</span> <span style="color: #0000ff;">for</span>(<span style="color: #800080;">$j</span>=<span style="color: #800080;">$len</span>; <span style="color: #800080;">$j</span>><span style="color: #800080;">$i</span>; --<span style="color: #800080;">$j</span><span style="color: #000000;">) </span><span style="color: #008080;"> 7</span> <span style="color: #000000;"> { </span><span style="color: #008080;"> 8</span> <span style="color: #0000ff;">if</span>(<span style="color: #800080;">$array</span>[<span style="color: #800080;">$j</span>] $array[<span style="color: #800080;">$j</span>-1<span style="color: #000000;">]) </span><span style="color: #008080;"> 9</span> <span style="color: #000000;"> { </span><span style="color: #008080;">10</span> <span style="color: #800080;">$temp</span> = <span style="color: #800080;">$array</span>[<span style="color: #800080;">$j</span><span style="color: #000000;">]; </span><span style="color: #008080;">11</span> <span style="color: #800080;">$array</span>[<span style="color: #800080;">$j</span>] = <span style="color: #800080;">$array</span>[<span style="color: #800080;">$j</span>-1<span style="color: #000000;">]; </span><span style="color: #008080;">12</span> <span style="color: #800080;">$array</span>[<span style="color: #800080;">$j</span>-1] = <span style="color: #800080;">$temp</span><span style="color: #000000;">; </span><span style="color: #008080;">13</span> <span style="color: #000000;"> } </span><span style="color: #008080;">14</span> <span style="color: #000000;"> } </span><span style="color: #008080;">15</span> <span style="color: #000000;"> } </span><span style="color: #008080;">16</span> <span style="color: #0000ff;">return</span> <span style="color: #800080;">$array</span><span style="color: #000000;">; </span><span style="color: #008080;">17</span> <span style="color: #000000;">} </span><span style="color: #008080;">18</span> <span style="color: #008080;">19</span> <span style="color: #0000ff;">print</span> '<pre class="brush:php;toolbar:false">'<span style="color: #000000;">; </span><span style="color: #008080;">20</span> <span style="color: #008080;">print_r</span>(bubbingSort(<span style="color: #0000ff;">array</span>(1,4,22,5,7,6,9<span style="color: #000000;">))); </span><span style="color: #008080;">21</span> <span style="color: #0000ff;">print</span> '
로그인 후 복사
-
-
快速排序
-
实现原理
采用分治的思想:先保证列表的前半部分都小于后半部分,然后分别对前半部分和后半部分排序,这样整个列表就有序了。
-
代码实现
';<span style="color: #008080;"> 1</span> <span style="color: #0000ff;">function</span> quickSort(<span style="color: #0000ff;">array</span> <span style="color: #800080;">$array</span><span style="color: #000000;">) </span><span style="color: #008080;"> 2</span> <span style="color: #000000;">{ </span><span style="color: #008080;"> 3</span> <span style="color: #800080;">$len</span> = <span style="color: #008080;">count</span>(<span style="color: #800080;">$array</span><span style="color: #000000;">); </span><span style="color: #008080;"> 4</span> <span style="color: #0000ff;">if</span>(<span style="color: #800080;">$len</span> ) <span style="color: #008080;"> 5</span> <span style="color: #000000;"> { </span><span style="color: #008080;"> 6</span> <span style="color: #0000ff;">return</span> <span style="color: #800080;">$array</span><span style="color: #000000;">; </span><span style="color: #008080;"> 7</span> <span style="color: #000000;"> } </span><span style="color: #008080;"> 8</span> <span style="color: #800080;">$key</span> = <span style="color: #800080;">$array</span>[0<span style="color: #000000;">]; </span><span style="color: #008080;"> 9</span> <span style="color: #800080;">$left</span> = <span style="color: #0000ff;">array</span><span style="color: #000000;">(); </span><span style="color: #008080;">10</span> <span style="color: #800080;">$right</span> = <span style="color: #0000ff;">array</span><span style="color: #000000;">(); </span><span style="color: #008080;">11</span> <span style="color: #0000ff;">for</span>(<span style="color: #800080;">$i</span>=1; <span style="color: #800080;">$i</span>$len; ++<span style="color: #800080;">$i</span><span style="color: #000000;">) </span><span style="color: #008080;">12</span> <span style="color: #000000;"> { </span><span style="color: #008080;">13</span> <span style="color: #0000ff;">if</span>(<span style="color: #800080;">$array</span>[<span style="color: #800080;">$i</span>] $key<span style="color: #000000;">) </span><span style="color: #008080;">14</span> <span style="color: #000000;"> { </span><span style="color: #008080;">15</span> <span style="color: #800080;">$left</span>[] = <span style="color: #800080;">$array</span>[<span style="color: #800080;">$i</span><span style="color: #000000;">]; </span><span style="color: #008080;">16</span> <span style="color: #000000;"> } </span><span style="color: #008080;">17</span> <span style="color: #0000ff;">else</span> <span style="color: #008080;">18</span> <span style="color: #000000;"> { </span><span style="color: #008080;">19</span> <span style="color: #800080;">$right</span>[] = <span style="color: #800080;">$array</span>[<span style="color: #800080;">$i</span><span style="color: #000000;">]; </span><span style="color: #008080;">20</span> <span style="color: #000000;"> } </span><span style="color: #008080;">21</span> <span style="color: #000000;"> } </span><span style="color: #008080;">22</span> <span style="color: #800080;">$left</span> = quickSort(<span style="color: #800080;">$left</span><span style="color: #000000;">); </span><span style="color: #008080;">23</span> <span style="color: #800080;">$right</span> = quickSort(<span style="color: #800080;">$right</span><span style="color: #000000;">); </span><span style="color: #008080;">24</span> <span style="color: #0000ff;">return</span> <span style="color: #008080;">array_merge</span>(<span style="color: #800080;">$left</span>, <span style="color: #0000ff;">array</span>(<span style="color: #800080;">$key</span>), <span style="color: #800080;">$right</span><span style="color: #000000;">); </span><span style="color: #008080;">25</span> <span style="color: #000000;">} </span><span style="color: #008080;">26</span> <span style="color: #008080;">27</span> <span style="color: #0000ff;">print</span> '<pre class="brush:php;toolbar:false">'<span style="color: #000000;">; </span><span style="color: #008080;">28</span> <span style="color: #008080;">print_r</span>(quickSort(<span style="color: #0000ff;">array</span>(1,4,22,5,7,6,9<span style="color: #000000;">))); </span><span style="color: #008080;">29</span> <span style="color: #0000ff;">print</span> '
로그인 후 복사
-

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











1. 문제의 배경 1. 양면시장 실험의 소개 양면시장, 즉 플랫폼은 생산자와 소비자라는 두 명의 참여자를 포함하며, 양측은 서로를 홍보한다. 예를 들어 Kuaishou에는 영상 제작자와 영상 소비자가 있는데, 그 두 아이덴티티는 어느 정도 겹칠 수 있습니다. 쌍방향 실험은 생산자 측과 소비자 측의 그룹을 결합하는 실험 방법입니다. 양자간 실험에는 다음과 같은 장점이 있습니다. (1) 제품 DAU의 변화, 작품을 업로드하는 사람 수 등 두 가지 측면에 대한 새로운 전략의 영향을 동시에 감지할 수 있습니다. 양자간 플랫폼은 종종 교차 네트워크 효과를 갖습니다. 독자가 많을수록 저자는 더 활발해지며, 저자가 더 활동적일수록 더 많은 독자가 팔로우하게 됩니다. (2) 효과 오버플로 및 전송을 감지할 수 있습니다. (3) 작용 메커니즘을 더 잘 이해하도록 도와주세요. AB 실험 자체는 원인과 결과 사이의 관계를 알려줄 수는 없습니다.

정렬 | Nuka-Cola, Chu Xingjuan 기본 컴퓨터 과학 과정을 수강한 친구들은 정렬 알고리즘을 직접 설계했을 것입니다. 즉, 코드를 사용하여 정렬되지 않은 목록의 항목을 오름차순 또는 내림차순으로 재정렬하는 것입니다. 이는 흥미로운 도전이며 이를 수행할 수 있는 방법은 많습니다. 정렬 작업을 보다 효율적으로 수행하는 방법을 찾는 데 많은 시간이 투자되었습니다. 기본 작업으로 정렬 알고리즘은 대부분의 프로그래밍 언어의 표준 라이브러리에 내장되어 있습니다. 대량의 데이터를 온라인으로 정리하기 위해 전 세계의 코드베이스에는 다양한 정렬 기술과 알고리즘이 사용되지만 적어도 LLVM 컴파일러와 함께 사용되는 C++ 라이브러리에 관한 한 정렬 코드는 10년 넘게 변경되지 않았습니다. . 최근 Google DeepMindAI 팀은

Vue 기술 개발에서 데이터 필터링 및 정렬 방법 Vue 기술 개발에서 데이터 필터링 및 정렬은 매우 일반적이고 중요한 기능입니다. 데이터 필터링 및 정렬을 통해 필요한 정보를 신속하게 쿼리하고 표시할 수 있어 사용자 경험이 향상됩니다. 이 기사에서는 Vue에서 데이터를 필터링하고 정렬하는 방법을 소개하고 독자가 이러한 기능을 더 잘 이해하고 사용할 수 있도록 구체적인 코드 예제를 제공합니다. 1. 데이터 필터링 데이터 필터링이란 특정 조건에 따라 요구 사항을 충족하는 데이터를 필터링하는 것을 의미합니다. Vue에서는 comp를 전달할 수 있습니다.

배열 정렬 알고리즘은 요소를 특정 순서로 정렬하는 데 사용됩니다. 일반적인 유형의 알고리즘은 다음과 같습니다. 버블 정렬: 인접한 요소를 비교하여 위치를 바꿉니다. 선택 정렬: 가장 작은 요소를 찾아 현재 위치로 바꿉니다. 삽입 정렬: 올바른 위치에 요소를 하나씩 삽입합니다. 빠른 정렬: 분할 및 정복 방법, 피벗 요소를 선택하여 배열을 분할합니다. 병합 정렬: 분할 및 정복, 재귀 정렬 및 하위 배열 병합.

Swoole은 PHP 언어를 기반으로 하는 고성능 네트워크 통신 프레임워크로 다중 비동기 IO 모드와 다중 고급 네트워크 프로토콜의 구현을 지원합니다. Swoole을 기반으로 멀티 스레딩 기능을 사용하여 고속 정렬 알고리즘과 같은 효율적인 알고리즘 작업을 구현할 수 있습니다. 고속 정렬 알고리즘(QuickSort)은 벤치마크 요소를 찾아 요소를 두 개의 하위 시퀀스로 나누고 벤치마크 요소보다 크거나 같은 요소를 왼쪽에 배치합니다. 요소는 오른쪽에 배치됩니다. 그런 다음 왼쪽 및 오른쪽 하위 시퀀스가 배치됩니다.

MySQL과 Java를 사용하여 간단한 정렬 알고리즘 기능을 구현하는 방법 소개: 소프트웨어 개발에서 정렬 알고리즘은 가장 기본적이고 일반적으로 사용되는 기능 중 하나입니다. 이 기사에서는 MySQL과 Java를 사용하여 간단한 정렬 알고리즘 기능을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. 정렬 알고리즘 개요 정렬 알고리즘은 특정 규칙에 따라 데이터 집합을 정렬하는 알고리즘입니다. 일반적으로 사용되는 정렬 알고리즘에는 버블 정렬, 삽입 정렬, 선택 정렬, 퀵 정렬 등이 있습니다. 이 글에서는 버블 정렬을 예로 들어 이를 설명하고 구현해 보겠습니다. 2. 남

C#에서 선택 정렬 알고리즘 구현 방법 선택 정렬(SelectionSort)은 간단하고 직관적인 정렬 알고리즘으로, 매번 정렬할 요소 중에서 가장 작은(또는 가장 큰) 요소를 선택하여 마지막에 넣는 것이 기본 아이디어입니다. 정렬된 순서. 모든 요소가 정렬될 때까지 이 과정을 반복합니다. 특정 코드 예제와 함께 C#에서 선택 정렬 알고리즘을 구현하는 방법에 대해 자세히 알아보세요. 선택 정렬 방법 만들기 먼저 선택 정렬을 구현하기 위한 방법을 만들어야 합니다. 이 방법은

정렬 알고리즘은 모든 프로그래머가 숙달해야 하는 작업이라고 할 수 있습니다. 해당 원리와 구현을 이해하는 것이 필요합니다. 다음은 학습을 용이하게 하기 위해 일반적으로 사용되는 상위 10개 정렬 알고리즘의 Python 구현에 대한 소개입니다.
