码迷,mamicode.com
首页 > 编程语言 > 详细

算法导论学习笔记 -(1)

时间:2014-12-19 23:28:27      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:算法导论学习之路 插入排序

一个ACM若菜,趁着ACM淡季,开始学习算法导论了,经过一年的ACM学习,逐渐的发现,学东西,深入才是王道,以前学习一个算法,总是看懂了就开始做题,到后来才发现很多题目,会算法,却不知道是用这个算法,这就是算法理解的不到位的后果,从今天开始,定下目标:

1.深入系统的学习算法,

2.学会纸上写伪代码,每章的代码自己先在纸上写一遍,

3.每节的学习笔记和算法都要写在博客上。

在博客上记录自己的学习笔记,方便以后温习.   欢迎各路大神路过指正错误之处。

现在,先写写书上的第一个算法,插入排序。

算法思想:对于一个数组A[n],对

//insertion_sort
#include <iostream>
using namespace std;

void insertion_sort(int* A, int n)
{
    for (int j = 1; j < n; j++)
    {
        int key = A[j];
        int i = j-1;
        //Insert A[j] into the sorted sequence A[0..j-1].
        while (i >= 0 && A[i] > key)
        {
            A[i+1] = A[i];
            i--;
        }
        A[i+1] = key;
    }
}
void print(int* A, int n)
{
    for (int i = 0; i < n; i++) {
        cout << A[i] << " ";
    }
    cout << endl;
}
int main()
{
    int A[10] = {43,2,53,1,8,29,52,4,8,10};
    
    cout << "before sorted: ";
    print(A, 10);
    
    insertion_sort(A, 10);
    
    cout << "after sorted: ";
    print(A, 10);
    
    return 0;
}


算法导论学习笔记 -(1)

标签:算法导论学习之路 插入排序

原文地址:http://blog.csdn.net/myhelperisme/article/details/42032837

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!