C語言選擇排序法排序
#define N 5
main()
{
int a[5];
int i,j,k,t;
printf("初始化陣列:");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(i=0;i<N-1;i++)
{
k=i;
for(j=i+1;j<N;j++)
if(a[j]<a[k]) k=j;
if(k!=i)
{
t=a[i];
a[i]=a[k];
a[k]=t;
}
}
for(i=0;i<5;i++)
printf("%4d",a[i]);
}
相關推薦
【C語言】冒泡法排序
1.冒泡演算法: 思路如圖所示(圖片來自bilibili UP:正月點燈籠) 解釋:冒泡演算法的思路通俗一點就是每次將自己想要的數(最大值和最小值)放到陣列的最後一位,然後每次迴圈n-1項就可以達到排序的目的了。 程式碼如下: #include "stdio.h"
C語言中用“起泡法排序”解決排序問題
問題: 有10個地區的面積,要求對他們按由小到大的順序排列。 解析: 這種問題稱為數的排序。排序的規律有兩種:一種是“升序”,從小到大;另一種是“降序”,從大到小。可以把這個題目抽象為一般形式“對n個數按升序排序”。 排序的方法有很多種,本例用“起泡法”排序。“起泡法”的基本思路是:每次
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語言選擇法對陣列元素進行排序
選擇法排序是C語言中一種簡便的排序方法,其演算法的基本思想很易於理解,下面以對陣列的元素降序排列來談一談: 首先求出未排序的陣列中的最大的元素,將其放在陣列的a0的位置; 接著從剩餘的元素中再求出最大的元素,將其放在陣列的a1的位置; 依此向後推,很容易寫出對應的程式程
C語言中冒泡法、選擇法、插入法三種常見排序演算法分析
一、冒泡法(起泡法) 演算法要求:用起泡法對10個整數按升序排序。 演算法分析:如果有n個數,則要進行n-1趟比較。在第1趟比較中要進行n-1次相鄰元素的兩兩比較,在第j趟比較中要進行n-j次兩兩比較。比較的順序從前往後,經過一趟比較後,將最值沉底(換到最後一個元
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/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語言實現的快速排序算法
。。 時間 所在 排序算法 sca 輸出 void oid 快速排序 題目描述:對輸入的n個數進行排序並輸出。 解題思路:其實是很常規的排序題,但是為了一復習,所以采用快排的方法。這裏就當是快速排序的代碼實現練習好了。 快速排序是非常經典的一個算法,可以在對數規模的時間下實
C語言-選擇排序
#include <stdio.h> //選擇排序 void selectSort(int *p,int len) { int i,j; for(i = 0;i<len;i++) { for(j = i+1;j<
C語言 選擇排序
對一般陣列: #include<stdio.h> #include<string.h> #include<stdlib.h> void selectSort01(int arr[],int len) { for(int i =
C語言實現直接插入排序,氣泡排序,選擇排序,希爾排序,快排
直接插入演算法,每次將未排序的第一個元素插入到前半部分以及排好序的元素中。關鍵是要在已排好的部分進行移位操作。//直接插入排序演算法 void InsertSort(int a[],int n) { for (int i = 1; i < n; i++) {
C語言之歸並排序
ack trac for pos 語言 font tex 合並 %d 即將兩個都升序(或降序)排列的數據序列合並成一個仍按原序排列的序列。 上代碼: #include <stdio.h> #include <stdlib.h> #defin
C語言:歸並排序
tar merge ret void class while std stdio.h 歸並排序 歸並排序(C語言)。 先上代碼,理論會後面一起總結。 1. 遞歸 2. 非遞歸 #include <stdio.h> #include <stdlib.h
(排序演算法)linux c語言實現二分插入排序演算法(簡化版本的插入排序演算法)
二分插入演算法是在已經排序好的序列裡插入一個元素,是穩定的演算法,關鍵詞是折中。 比如說我要在12345678910裡插入一個3,那麼我先看看中間的數比3大,還是比3小,要是比3大,我就去後一半,如果是比3小,我就去前一半,現在進入某個一半後,再做如此操作,最後將其他的元素依次往後挪
排序演算法c語言描述---直接插入排序
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
排序演算法c語言描述---希爾排序
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
排序演算法c語言描述---雙向氣泡排序
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
C語言筆記17--快速排序簡單實現
快速排序(QuickSort)是一種排序演算法,並且非常的實用。快速排序的原理是先找一個基準值,然後和序列的每個值比較,大於基準值的放在基準值右邊,小於基準值的放在左邊。那麼陣列將會被分割成兩組,左邊的是小於基準值的,右邊是大於基準值的,那就是說基準值的位置已經確定。然後分別為這兩組找基準值進行分割
C語言實現六種排序演算法
C語言實現六種排序演算法 C語言實現六種排序演算法 氣泡排序 插入排序 歸併排序 快速排序 希爾排序
C語言之二叉排序樹
typedef struct BiTNode{ int data; struct BiTNode *lchild; struct BiTNode *rchild;}Bintree; #include<stdio.h>