luqingfei@C++

为中华之崛起而崛起!
兼听则明,偏听则暗。

C++实现插入排序(升序+降序)

#include <iostream>
using namespace std;

void main()
{
    
int arr[] = {524613};
    
const int len = sizeof arr/ sizeof arr[0];
    cout 
<< "原序列:";
    
for(int i=0; i<len; i++)
    {
        cout 
<< arr[i] << "";
    }
    cout 
<< endl;

    
//--插入排序(升序)----------------
    for(int i=1; i<len; i++)
    {
        
int key = arr[i];
        
int j = i-1;

        
while(j >= 0 && key < arr[j])
        {
            arr[j
+1= arr[j];
            j
--;
        }

        arr[j
+1= key;
    }
    
//---------------------------------

    cout 
<< "升序:";
    
for(int i=0; i<len; i++)
    {
        cout 
<< arr[i] << "";
    }
    cout 
<< endl;

    
    
//--插入排序(降序)----------------
    for(int i=1; i<len; i++)
    {
        
int key = arr[i];
        
int j = i-1;

        
while(j >= 0 && key > arr[j])
        {
            arr[j
+1= arr[j];
            j
--;
        }

        arr[j
+1= key;
    }
    
//---------------------------------

    cout 
<< "降序:";
    
for(int i=0; i<len; i++)
    {
        cout 
<< arr[i] << "";
    }
    cout 
<< endl;
}
运行结果:
原序列:5, 2, 4, 6, 1, 3,
升序:1, 2, 3, 4, 5, 6,
降序:6, 5, 4, 3, 2, 1,

posted on 2010-11-24 16:58 luqingfei 阅读(2384) 评论(0)  编辑 收藏 引用 所属分类: 数据结构与算法


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2020年8月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
303112345

统计

留言簿(6)

随笔分类(109)

随笔档案(105)

Blogers

Game

Life

NodeJs

Python

Useful Webs

大牛

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜