陣列元素劃分
陣列元素劃分
選取陣列中的一個元素作為支點,分為兩個子集。左子集中的元素都不大於支點,右子集中的元素都不小於支點。
#include<stdio.h>
void sort(int a[], int n,int m);//劃分
void swap(int* a, int* b);//交換元素
void out(int a[], int n);//輸出
int main() {
int a[5];
int i = 0;
int n = 5;
int m;
scanf_s("%d", &m);
for (; i < n; i++)
scanf_s("%d", &a[i]);
sort(a, 5,m-1);
out(a, 5);
}
void swap(int* a, int* b) {
int temp = *b;
*b = *a;
*a = temp;
}
void sort(int a[], int n, int m) {
int i = 0, j = n - 1;
int start = m;
for (; j >=start; j--) {
if (a[start] > a[j]) {
swap(&a[start], &a[j]);
start=j;
for (; i<=start; i++) {
if (a[start] < a[i]) {
swap(&a[start], &a[i]);
start=i;
break;
}
}
}
}
}
void out(int a[], int n) {
int i = 0;
n = 5;
for (; i < n; i++)
printf("%d\t", a[i]);
}
相關文章
- java大陣列劃分為若干小陣列Java陣列
- 【Java】陣列二分查詢元素Java陣列
- 陣列元素逆序陣列
- 1008 陣列元素迴圈右移問題 (20分)陣列
- golang 陣列去重 移除陣列指定元素Golang陣列
- 1008 陣列元素迴圈右移問題 (20 分)java陣列Java
- JavaScript陣列元素全排列JavaScript陣列
- JavaScript刪除陣列元素JavaScript陣列
- 陣列元素的數量陣列
- java陣列元素的引用Java陣列
- 陣列--移除陣列中指定的元素,不改變原陣列和改變原陣列陣列
- 陣列filter方法對陣列元素進行過濾陣列Filter
- volatile修飾陣列,那麼陣列元素可見嗎?陣列
- 陣列中每個陣列元素出現的次數陣列
- PHP陣列學習之計算陣列元素總和PHP陣列
- JavaScript 刪除陣列指定元素JavaScript陣列
- JavaScript陣列檢索指定元素JavaScript陣列
- JavaScript刪除array陣列元素JavaScript陣列
- PostgreSQL 對陣列元素聚合(qbit)SQL陣列
- 陣列的主元素查詢陣列
- 陣列演算法-差分陣列陣列演算法
- 找出陣列中元素出現次數超過陣列長度一半的元素陣列
- 10 分鐘內瞭解陣列中存在元素的多種方式陣列
- PHP 陣列搜尋 sdk & 陣列分頁PHP陣列
- JavaScript 陣列隨機不重複元素JavaScript陣列隨機
- JavaScript 陣列新增或者刪除元素JavaScript陣列
- JavaScript陣列刪除重複元素JavaScript陣列
- JavaScript 陣列 指定索引位置插入元素JavaScript陣列索引
- JavaScript 刪除陣列重複元素JavaScript陣列
- 旋轉陣列中的最小元素陣列
- 【Java】尋找陣列中“主要元素”Java陣列
- js 從目標陣列中過濾掉 一個陣列元素,JS陣列
- 如何將一維陣列轉換成與考慮南天陣列元素?陣列
- Java擷取指定區間內的陣列元素並存入新陣列Java陣列
- JavaScript遍歷陣列每一個元素JavaScript陣列
- JavaScript陣列指定位置插入新元素JavaScript陣列
- 【LeetCode-陣列】查詢大多數元素LeetCode陣列
- Array · 刪除陣列中指定的元素陣列