排序演算法__直接插入排序
排序演算法__直接插入排序
一、介紹
直接插入排序是一種簡單的排序方法,它的基本操作是將一個記錄插入到已排序的有序表中,從而得到一個新的、記錄數增1的有序表。
二、C++實現
#include<iostream>
using namespace std;
void insertSort(int a[],int n)//直接插入排序,升序
{
for(int i=1;i<n;i++)//將元素a[i]插入到有序區間[0,i)中
{
int t=a[i],j=i-1;//暫存a[i] ,尋找a[i]插入的位置
//遍歷[0,i)內的元素,如果當前元素a[j]>a[i]就讓a[j]向後移動一個位置
while(j>=0&&a[j]>t) a[j+1]=a[j],j--;
a[j+1]=t;//元素插入的位置為j+1
}
}
int main()
{
int a[10]={1,34,2,67,4,6,90,223,12,456};
printf("排序前:");
for(int i=0;i<10;i++)
printf("%d ",a[i]);
insertSort(a,10);
printf("\n排序後:");
for(int i=0;i<10;i++)
printf("%d ",a[i]);
return 0;
}
三、時間複雜度
相關文章
- 排序演算法:直接插入排序排序演算法
- 排序演算法——直接插入排序排序演算法
- 排序演算法-直接插入排序排序演算法
- 直接插入排序演算法排序演算法
- #排序演算法#【2】直接插入排序、希爾排序排序演算法
- 【排序演算法動畫解】直接插入排序排序演算法動畫
- 三種插入排序 直接插入排序,折半插入排序,希爾排序排序
- 直接插入排序排序
- 直接插入排序法排序
- 演算法學習之直接插入排序(java)演算法排序Java
- 04資料結構排序演算法之直接插入排序資料結構排序演算法
- 排序演算法——插入排序排序演算法
- 【筆記】直接插入排序筆記排序
- 直接插入排序java描述排序Java
- 程式猿修仙之路--演算法之直接插入排序演算法排序
- 希爾排序使用直接插入排序、二分插入排序的C++程式碼實現演算法排序C++演算法
- 排序演算法__折半插入排序排序演算法
- 經典演算法之直接插入排序及其優化演算法排序優化
- 【演算法】插入排序演算法排序
- 筆試之排序-直接插入排序、氣泡排序、快速排序筆試排序
- PHP 排序演算法之插入排序PHP排序演算法
- 排序演算法之折半插入排序排序演算法
- 【資料結構】直接插入排序資料結構排序
- 排序演算法 - 快速插入排序和希爾排序排序演算法
- 排序演算法:插入排序演算法 PHP 版排序演算法PHP
- 常用演算法-插入排序演算法排序
- 淺解前端必須掌握的演算法(三):直接插入排序前端演算法排序
- 排序演算法入門之「插入排序」排序演算法
- 【No.16異常的直接插入排序】排序
- 實時插入排序演算法排序演算法
- 排序演算法(氣泡排序,選擇排序,插入排序,希爾排序)排序演算法
- 排序演算法(3)插入排序(Insertion Sort)排序演算法
- Java常見排序演算法之插入排序Java排序演算法
- 排序演算法之「插入排序(Insertion Sort)」排序演算法
- 排序演算法:二分插入排序排序演算法
- 排序演算法——二分插入排序排序演算法
- 畫江湖之演算法篇【排序演算法】插入排序演算法排序
- 畫江湖之演算法篇 [排序演算法] 插入排序演算法排序