【經典回放】多種語言系列數據結構算法:快速排序

快速排序(Quicksort)是對冒泡排序的一種改進。

快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通過一趟排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另外一部分的所有數據都要小,然后再按此方法對這兩部分數據分別進行快速排序,整個排序過程可以遞歸進行,以此達到整個數據變成有序序列。

直接上干貨!

1. C語言:

#include <stdio.h>
#include <stdlib.h>void QSort(int  A[],int Low,int High)
{int i,j,P;if(Low>=High) return;i=Low;j=High;P=A[Low];while(i<j){while(i<j && P<=A[j]) j--;if(i<j)	{A[i]=A[j];i++;	}while(i<j && A[i]<P) i++;if(i<j)	{A[j]=A[i];j--;	}}A[i]=P;QSort(A,Low,i-1);QSort(A,i+1,High);
}main()
{int a[]={49,38,65,97,76,13,27,49},i; QSort(a,0,7);for(i=0;i<8;i++)printf("%d  ",a[i]);printf("\n");}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/287861.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/287861.shtml
英文地址,請注明出處:http://en.pswp.cn/news/287861.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

表頭合并_多個Excel表格合并數據麻煩?試試Power Query輕松幫你解決

Hi!大家好&#xff01;歡迎來到小龍自修室&#xff01;又到了小龍分享時間&#xff01;(今天的內容有點多&#xff0c;希望各位看官一定要看到最后&#xff01;有驚喜)上一篇文字小龍和大家一起制作了一個限定數據內容錄入的電子表格&#xff0c;我的表格我做主&#xff01;表格…

C++入門指南及實戰 第三步 基本變量

在C編程中&#xff0c;內置了一些基本數據類型用來存儲一些不同類型的值。有字符類型 char 用以存儲字符&#xff0c;如a、b、c、d、-、、1、2、4、3、>、?等&#xff1b;有整形 int 用以存儲整數類型&#xff0c;如1、2、3、4、5、11、111、2311等&#xff1b;有浮點類型 …

OPCServer Modbus使用和配置

一&#xff0c;安裝KEPware.Enhanced.OPC.DDE.KEPServer。(PLC數據傳送給KEPServer,開發的程序用OPCServer讀KEPServer) 設置ip地址后面是指的plc站號&#xff0c;此處必須和plc上站號對應。否則無法接收數據。 打開quick client 查看傳值情況 二.C#程序代碼 引用opcdaauto.dll…

C# 創建命名管道服務器

通過創建 NamedPipeServerStream 的一個新實例&#xff0c;來創建服務器。NamedPipeServerStream 派生自基類 PipeStream&#xff0c;PipeStream 派生自 Stream 基類&#xff0c;因此可以使用流的所有功能&#xff0c;例如&#xff0c;可以創建CryptoStream 或 GZipStream&…

在香蕉派 Banana Pi BPI-M1上使用 開源 OxOffice Impress

2019獨角獸企業重金招聘Python工程師標準>>> 在香蕉派 Banana Pi BPI-M1上使用 開源 OxOffice Impress 在Banana Pi BPI-M1上使用OxOffice Impress&#xff0c;該簡報大小約26MB&#xff0c;採用自動播放機制。 OxOffice提供 arm linux的版本&#xff0c;可佈署在ar…

免殺新姿勢:利用線程將惡意代碼注入到內存中

本文講的是免殺新姿勢&#xff1a;利用線程將惡意代碼注入到內存中&#xff0c;產生存放遠程攻擊線程的進程在這篇文章中我不想一步一步解釋我編寫的C#代碼&#xff0c;但是我會展示下它能夠繞過殺毒軟件&#xff0c;并且操作非常簡單&#xff0c;而且實用。 首先說明一下&…

【經典回放】多種語言系列數據結構算法:希爾排序

【希爾排序原理】每隔sp(整數)個數即取數并判斷大小,交換,先構造局部有序序列,直到sp為1,構造完整的有序序列。 給出一組數據,如下: 0 1 2 3

Java之解決散列表的沖突用開放定址法和鏈表法

1 問題 理想狀態下&#xff0c;散列表就是一個包含關鍵字的固定大小的數組&#xff0c;通過使用散列函數&#xff0c;將關鍵字映射到數組的不同位置&#xff0c;哈希函數可以將關鍵字均勻的分散到數組的不同位置&#xff0c;不會出現兩個關鍵字散列值相同&#xff08;假設關鍵…

python 手把手教你基于搜索引擎實現文章查重

前言 文章抄襲在互聯網中普遍存在&#xff0c;很多博主都收受其煩。近幾年隨著互聯網的發展&#xff0c;抄襲等不道德行為在互聯網上愈演愈烈&#xff0c;甚至復制、黏貼后發布標原創屢見不鮮&#xff0c;部分抄襲后的文章甚至標記了一些聯系方式從而使讀者獲取源碼等資料。這…

lru算法實現 redis_使用數組與雙向鏈表實現一個簡單的LRU算法

什么是LRU算法&#xff1f;redis大家都玩過吧&#xff0c;你們好奇redis內存數據存滿之后會發生什么嗎&#xff1f;拋出異常&#xff1f;禁止使用&#xff1f;還是刪除數據&#xff1f;其實redis設計了一種內潤淘汰機制。noeviction(默認策略)&#xff1a;屏蔽寫操作&#xff0…

【經典回放】多種語言系列數據結構算法:歸并排序

目錄 干貨1:C#語言實現歸并排序! 干貨2:C語言實現歸并排序! 干貨1:C#語言實現歸并排序! 一、算法 1、思想基礎

Java對象和類

轉自原文&#xff1a;http://www.yiibai.com/java/java_object_classes.html java是一種面向對象的語言。由于具有面向對象特性的語言&#xff0c;Java支持以下基本概念&#xff1a; 多態性繼承封裝抽象化類對象實例方法消息解析在本章中&#xff0c;我們將探討類和對象這些概念…

bzoj3224 Tyvj 1728 普通平衡樹題解--Treap

題面&#xff1a; Description您需要寫一種數據結構&#xff08;可參考題目標題&#xff09;&#xff0c;來維護一些數&#xff0c;其中需要提供以下操作&#xff1a; 1. 插入x數 2. 刪除x數(若有多個相同的數&#xff0c;因只刪除一個) 3. 查詢x數的排名(若有多個相同的數&…

Blazor University (18)使用 RenderFragments 模板化組件 —— 創建 TabControl

原文鏈接&#xff1a;https://blazor-university.com/templating-components-with-renderfragements/creating-a-tabcontrol/創建一個 TabControl 組件源代碼[1]接下來我們將創建一個 TabControl 組件。這將教您如何實現以下目標&#xff1a;將數據傳遞到 RenderFragment 以為其…

Java之GC機制

1 JVM基本結構 1&#xff09;類加載器classLoader&#xff1a;在JVM啟動時或者類運行時將需要的.class文件加載到內存中 2&#xff09;內存區域&#xff08;運行時數據區&#xff09;&#xff1a; 是在JVM運行的時候操作所分配的內存區 3&#xff09;執行引擎&#xff1a;負…

ArcGIS實驗教程——實驗十八:疊置分析(Overlay Analysis)

ArcGIS實驗視頻教程合集:《ArcGIS實驗教程從入門到精通》(附配套實驗數據) 目 錄 一、實驗描述 二、實驗內容 三、實驗目的 四、實驗數據

《零基礎看得懂的C語言入門教程 》——(一)脫離學習誤區

本節視頻連接&#xff1a; https://www.bilibili.com/video/BV1Qv411t7ae 新手C語言學習有些誤區你應該知道&#xff0c;這樣學習起來事半功倍~一、前言 距離上一次編寫C語言的教程是5年前了&#xff08;2015年&#xff09;&#xff0c;由于自己是從初一時開始學習編程&#…

一套完整的導視設計案例_色彩導視藝術:烏克蘭基輔語言學校導視設計案例

學校導視設計案例建筑師Emil Dervish為烏克蘭基輔Underhub語言學校設計了色彩繽紛的導視系統&#xff0c;該設計靈感來源于倫敦地鐵&#xff0c;他希望通過彩色線條的大膽應用來營造輕松而歡樂的氛圍。讓我們一起來看看這座由“彩虹”做導視的學校。彩虹導視設計跟著紅色導視線…

C# 創建匿名管道

下面對匿名管道執行類似的操作。通過匿名管道&#xff0c;創建兩個彼此通信的任務。為了給管道的創建發出信號&#xff0c;使用 ManualResetEventSlim 對象&#xff0c;與內存映射文件一樣。在 Program 類的 Run 方法中&#xff0c;創建兩個任務&#xff0c;調用 Reader 和 Wri…

內測投票

create table DiaoYanTiMu &#xff08;  Ids int(10) auto_increment not null primary key(),//把所需要的都寫上中間不需要符號隔開&#xff0c;設自增長列類型必須是int&#xff0c;主鍵的話必須不能為空not null&#xff0c; Title varchar(50) not null &#xff09;;/…