C語言-選擇排序
#include <stdio.h> //選擇排序 void selectSort(int *p,int len) { int i,j; for(i = 0;i<len;i++) { for(j = i+1;j<len;j++) { if(p[i]>p[j]) { int tmp = p[i]; p[i] = p[j]; p[j] = tmp; } } } } int main() { int array[5]; for(int i=0;i<5;i++) scanf("%d",&array[i]); selectSort(array,5); for(i = 0;i<5;i++) { printf("%d ",array[i]); } }
相關推薦
C語言選擇排序
c/c++ 排序 #include <iostream> #include <stdio.h> using namespace std; int data[]={2,1,3,8,6,7,9}; int main(int argc, char* argv[]) {
C語言-選擇排序
#include <stdio.h> //選擇排序 void selectSort(int *p,int len) { int i,j; for(i = 0;i<len;i++) { for(j = i+1;j<
ACMNO.18 C語言-選擇排序 用選擇法對10個整數從小到大排序。 輸入 10個整數 輸出 排序好的10個整數
題目描述 用選擇法對10個整數從小到大排序。 輸入 10個整數 輸出 排序好的10個整數 樣例輸入 4 85 3 234 45 345 345 122 30 12 樣例輸出 3 4 12 30 45 85 122 234 345 345
C語言 選擇排序
對一般陣列: #include<stdio.h> #include<string.h> #include<stdlib.h> void selectSort01(int arr[],int len) { for(int i =
C語言選擇排序法排序
#include<stdio.h> #define N 5 main() {int a[5];int i,j,k,t;printf("初始化陣列:");for(i=0;i<5;i++
C語言選擇法對陣列元素進行排序
選擇法排序是C語言中一種簡便的排序方法,其演算法的基本思想很易於理解,下面以對陣列的元素降序排列來談一談: 首先求出未排序的陣列中的最大的元素,將其放在陣列的a0的位置; 接著從剩餘的元素中再求出最大的元素,將其放在陣列的a1的位置; 依此向後推,很容易寫出對應的程式程
c語言實現排序的兩種演算法(冒泡,選擇)
寫下來以記錄自己學習過程中遇到的一些問題 1.利用隨機函式產生10個20以內的整數存於陣列中 (1) 按升序輸出排序後的結果(排序可採用冒泡) (2) 按降序輸出排序後的結果(選擇排序方法) 將問題分塊: 10個隨機數的生成 氣泡排序 選擇排序 (1)對於第
C語言 冒泡排序
acf %d efi 語言 lap 次數 int code 錯誤 冒泡排序( Bubble Sort ) 比較相鄰的兩個數,如果錯誤則進行交換,重復訪問整個排序的數列 #include <stdio.h> #define KSIZE 8 static in
C語言冒泡排序
c/c++//--------------------------------------------------------------------------- #pragma hdrstop //------------------------------------------------------
C語言——選擇結構
選擇結構和條件判斷 (一)if語句——實現兩個分支 if 語句可以寫成不同形式 if (表示式) 語句1——可以沒有else語句 if (表示式) 語句 1 else 語句 2 ——————————有else語句 if (表示式 1) 語句 1 else if (
C#語言————選擇結構
ole 選擇結構 brush sum write div 選擇 for light int[] num = new int[] {23,76,54,87,51,12 }; //冒泡排序 for (int i
c語言插入排序法
int main() { int i; int a[10]; int iTemp; int iPos; printf("為陣列元素賦值:\n"); for(i=0;i<10;i++){ printf("a[%d]=",i);
資料結構與演算法C++之選擇排序
本篇文章是使用C++實現的選擇排序演算法,演算法複雜度為O(n2) 選擇排序演算法初始時在序列中找到最小元素,放到序列的起始位置作為已排序序列;然後,再從剩餘未排序元素中繼續尋找最小元素,放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。 如上圖陣列中有8個元素,首先將第一個元素
c語言基數排序/桶排序
如果要排序的數字都是k位組成的十進位制數,如3位的489,就可以採用基數排序,也稱為桶排序 排序步驟: 對有效位為k的十進位制數,可以把每個數字看成一個分量,如有效位為3的379的分量為3 7 9,設定十個桶,編號為0 1 2 3.....9 1:將要排序的n個整
C語言比較法排序
#include<stdio.h> int main() { int a[10],i=0,temp,j; printf("請輸入一列數字,程式會為您按從大到小進行排序\n"); for (i=0;i<10;i++) { scanf("%d
C語言堆排序(HeapSort)的思想和程式碼實現
C語言堆排序(HeapSort)的思想和程式碼實現 經過一晚上和有一早上的思考和學習,在Clion上反覆的單步除錯之後,我總結了關於堆排序這個演算法的一點體會。現在來記錄一下,如有錯誤,歡迎批評指出,謝謝! 首先:什麼是堆排序,為什麼叫堆? Heapsort是一種根據選擇排序的思想,利用
C語言堆排序
%d heap alt d+ clas mage src 不用 temp 堆是一種類似二叉樹的數據結構,分為最大堆和最小堆,最大堆得定義是當前節點必須大於左右子節點,堆中所有節點都要符合這個定義。最小堆反之。這一點不同於二叉樹排序。假設有數組int a[10] = {90,
c語言快速排序
快速排序是基於分治法的重要排序演算法,按照記錄的值的對序列進行劃分,具體步驟為 1:初始化 取第一個記錄(值)作為基準,設定兩個引數i,j分別用來指示將要與基準記錄進行比較的左側記錄位置和右側記錄位置,也就是本次劃分的區間(第一個值記為i,最後一個值記為j,按照中間位置劃分,一分為2)
c語言歸併排序
歸併排序是先將序列劃分,然後進行遞迴,處理,最後把劃分的序列合併 void MergeSort(int r[],int s,int t)//r是要排序的序列,s是起始位置,t是末尾值 { int m,r1[1000];//排好序的序列合併到r1內 if(s==t)return;/
C語言 - 氣泡排序【演算法優化】
氣泡排序很好理解,但是如何能夠讓其更加有效的執行是需要我們一直思考的問題。 本文會使用C語言(部分C++語法)介紹氣泡排序演算法並結合實際情況對齊進行優化,增強其健壯性。 **********************************************************