1. 程式人生 > >簡單的排序演算法(插入排序法、氣泡排序法、選擇排序法)

簡單的排序演算法(插入排序法、氣泡排序法、選擇排序法)

#include <iostream>
#include<algorithm>
#include<stdio.h>
using namespace std;
int A[100];
int N,v;
void insertionSort(int A[], int N);
void print(int A[], int N);
int main()
{
cout << "請輸入陣列長度N:" << endl;
cin >> N;
for (int i = 0; i < N; i++)
{
//scanf("%d", &A[i]);
cin >> A[i];
}
cout << "插入排序結果:" << endl;
insertionSort(A, N);
}
void insertionSort(int A[], int N)
{
for (int i = 0; i < N; i++)
{
v = A[i];
int j = i - 1;
while (j >= 0 && A[j]>v)
{
A[j + 1] = A[j];//將大於A[i]的部分向後移動一位
j--;
}
A[j + 1] = v;
print(A, N);
}
}
void print(int A[], int N)
{
for (int i = 0; i < N; i++)
{
if (i >0)
{
cout << " ";
}
cout << A[i];

}
cout << endl;
}
/*scanf  ();
格式輸入函式
需要 #include<stdio.h>    //標準輸入輸出標頭檔案
格式
scanf("格式控制字串",地址列表);
例子
scanf("%d %f",&a,&b);
前面 %d  表示 第一個 輸入資料 為 十進位制
       %f  表示  第二個輸入資料為  浮點數
        &a 表示 a的地址
      &b 表示 b的 地址
&a[i] 為一維陣列的地址*/