兩種簡單排序
兩種簡單的排序方式,以前學c的時候記錄的,現在貼在這裡,忘了來看看。
//氣泡排序//
void bubble(int a[],int n){
int i,j,t;
for(i=1;i<n;i++)
for(j=0;j<n-i;j++)
if(a[j]<a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
//快速排序//
void quicksort(int arr[],int n)
{
int t;
if(n<=1)
return;
int key=arr[0];
int index=0;
while(i<j)
{
while(i>j&&arr[j]>key)
j--;
if(j==i)
break;
else
{
t=a[i];
a[i]=a[j];
a[j]=t;
index=i;
}
}
quicksort(arr,index);
quicksort(arr+index+1,n-1-index);
}
相關推薦
兩種簡單排序
兩種簡單的排序方式,以前學c的時候記錄的,現在貼在這裡,忘了來看看。 //氣泡排序// void bubble(int a[],int n) { int i,j,t; for(i=1;i<n;i++) for(j=0;j<n-i;j++) if
兩種簡單的陣列排序演算法:氣泡排序和直接選擇排序(升序)
氣泡排序的基本思想是:面對一排資料,先從前往後兩兩比較,如果前一個數比後一個數大就交換兩者的順序,即第一個數和第二個數比,第二個數和第三個數比,……,倒數第二個數和最後一個數比,這樣一輪下來以後最大的數就排到最後;接著把除去最大的數的該組資料進行同樣的操作,直至
兩種簡單實現菜單高亮顯示的JS類(轉載)
on() pos 菜單高亮 href 不同的 index body -m ear 兩種簡單實現菜單高亮顯示的JS類 近期在寫一個博客管理後臺的前端,涉及在同一頁面兩種高亮顯示當前菜單的需求.記得當年寫靜態頁時,為了實現高亮都是在每個頁面加不同的樣式,呵.高亮
0923關於安裝mysql兩種簡單方式
csdn list conn utf-8 啟動 sdn lib ria onf http://blog.csdn.net/liumm0000/article/details/18841197 方式一:利用RPM安裝包進行安裝 RPM方式安裝MySQL5.6 RPM方式安裝M
關於三種簡單排序的操作
快速排序 code 循環 break 想法 插入排序 額外 比較 直接 一、關於插入排序的一些想法與實現,插入排序的原理是在序列前增加一個哨兵,通過哨兵的值與前面比較,如果需要改變的話直接覆蓋掉與哨兵值的位置,最後可以將哨兵填充到新的空缺位置,按照排序的定義意思就是直接在新
圖解排序算法(一)之3種簡單排序(選擇,冒泡,直接插入)
容易 ble 通過 元素移動 shells 過程 影響 項目 lec 排序是數據處理中十分常見且核心的操作,雖說實際項目開發中很小幾率會需要我們手動實現,畢竟每種語言的類庫中都有n多種關於排序算法的實現。但是了解這些精妙的思想對我們還是大有裨益的。本文簡單溫習下最基礎的三類
兩種快速排序解析
快速排序的主要思想就是分而治之,遞迴將序列用主元分為兩個子序列然後排序. 根據維基百科的描述,快速排序有兩種: 第一種是由Lomuto提出的, 為in-place交換;將序列最後一個元素選為主元。兩個掃描標籤從左邊開始,當array[ j ]大於主元時,j繼續掃描;當
三種簡單排序-選擇、插入、希爾排序
選擇排序 每次從未被排序的中選擇一個最小的(大) void selection(int a[],int n){ for(int i = 0;i < n-1; ++i){ int min = i; for(int j = i;j<n;++j){/
演算法設計:兩種快速排序程式碼實現
快速排序是一種高效且使用廣泛的排序演算法,在很多語言的標準庫中自帶的排序都是快速排序,所以我們也有必要了解快排的原理以及其實現方法。 快排的大致思想 快速排序實現的重點在於陣列的拆分,通常我們將陣列的第一個元素定義為比較元素,然後將陣列中小於比較元素的數放到左邊,將大於比較元素的放到右邊, 這樣我們就將
兩種簡單的servlet實現反向代理
以下兩種方法都需要引入jar包: <dependency> <groupId>org.mitre.dsmiley.httpproxy</groupId> <artifactId>smiley-http-proxy-servlet</ar
三種簡單排序-冒泡,插入,快速
冒泡和插入都是巢狀兩個for迴圈實現: 冒泡: for(int i=0;i<len-1;i++) { for(int j=0;j<len-1-i;j++) { if(store[j]>store[j+1]) swap(stor
三種簡單排序的實現(氣泡排序,選擇排序,插入排序 )
氣泡排序: public static void main(String[] args) { int[] a = {1, 7, 4, 3, 8, 2, 9, 6, 5}; for(int j = a.length; j > 0; j--
排序演算法--兩種選擇排序
選擇排序是一種以重複選擇為思想的排序演算法.其中直接選擇排序是最簡單的一種. 直接選擇排序: 演算法: 假設有一個A[n]的陣列,首先找到最小的元素,將其儲存在A[1]中,然後找到剩下的n - 1個元素中的最小元素,放在A[2]中,重複此過程直到找到第二大的元
兩種簡單的方式快速實現hashCode 和 equals方法
我們在寫domain model類, 有時候需要重寫hashCode和equals,以便可以把這個類當成List或者Map的Key來用。 有兩種方法可以很方便地去幫我們實現: 1. 使用eclipse工具。右擊程式碼->Source->Genera
MFC繪製橢圓的兩種簡單方法
方法一: // CDrawTest1View 繪製 void CDrawTest1View::OnDraw(CDC* pDC) { CDrawTest1Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc
C語言複製檔案的兩種簡單的方法【從根本解決問題】
網上的方法大致有這樣幾種: 1、使用作業系統提供的複製檔案的API 2、使用C語言本身提供的複製檔案的函式 3、直接讀寫檔案,從檔案角度來操作,從而直接將一個檔案複製 這裡我們使用的就是這第三種。 複製檔案的思路大概是這樣的,如果是文字型別,則可直接使用字元讀寫的方式,
探討兩種快速排序寫法與堆溢位的關係
最近在做星圖識別匹配,因為需要對星表進行星等排序,對星等比較小,比較亮的星星進行優先選擇匹配,考慮到速度問題採用快速排序對其進行排序。正常的快速排序應該像方法一寫的所示,但是考慮到程式碼量的精簡,所以改動了原來的演算法,使用演算法二對其進行排序,剛開始資料混
Git的使用--如何將本地專案上傳到Github(兩種簡單、方便的方法)
將本地專案上傳到Github(兩種簡單、方便的方法) 一、第一種方法: 首先你需要一個github賬號,所有還沒有的話先去註冊吧! https://github.com/ 我們使用git需要先安裝git工具,這裡給出下載地址,下載後一路直
ibatis模糊查詢的兩種簡單寫法
起始字元匹配即返回為查詢結果,如,輸入‘abc’,所有以abc開頭的都會查找出來: 寫法1: TOKEN like '$token$%' (token是查詢條件,TOKEN也資料庫表中
java實現三種簡單排序以及改良:氣泡排序,選擇排序,直接插入排序
import java.util.Arrays; public class Sort { public static void main(String[] args) { int[] array={18,17,20,9,10}; bubble1(array);