python和C语言分别实现插入排序

python语言代码:

代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 def InsertSort(numbers,n):
    for i in range(1,n):
        j = i-1
        tem = numbers[i]
        while numbers[j]>tem and j>=0:
            numbers[j+1] = numbers[j]
            j -= 1
        else:
            numbers[j+1] = tem
        print "Onthe sort:",numbers

a = [9,8,7,6,5,4,3,2,1,0]
print "BeforeSort:",a
InsertSort(a, 10)
print "After Sort:",a

最后输出为:

BeforeSort: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
Onthe sort: [8, 9, 7, 6, 5, 4, 3, 2, 1, 0]
Onthe sort: [7, 8, 9, 6, 5, 4, 3, 2, 1, 0]
Onthe sort: [6, 7, 8, 9, 5, 4, 3, 2, 1, 0]
Onthe sort: [5, 6, 7, 8, 9, 4, 3, 2, 1, 0]
Onthe sort: [4, 5, 6, 7, 8, 9, 3, 2, 1, 0]
Onthe sort: [3, 4, 5, 6, 7, 8, 9, 2, 1, 0]
Onthe sort: [2, 3, 4, 5, 6, 7, 8, 9, 1, 0]
Onthe sort: [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
Onthe sort: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
After Sort: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

C语言实现代码:

代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include<stdio.h>

void insertSort(int a[10],int n)
{
    int i,j,k;
    for(i=1;i<n;i++)
    {
        int tem = a[i];
        j = i - 1;
        while(a[j]>tem && j>=0)
        {
            a[j+1] = a[j];
            j--;
        }
        a[j+1] = tem;
        for(k=0;k<10;k++)
        {
            printf("%d",a[k]);
        }
        printf("\n");
    }
}

int main()
{
    int b[10] = {9,8,7,6,5,4,3,2,1,0};
    int i;
    for(i=0;i<10;i++)
    {
        printf("%d",b[i]);
    }
    printf("\n");
    insertSort(b,10);
    for(i=0;i<10;i++)
    {
        printf("%d",b[i]);
    }

}

最后输出:

9876543210
8976543210
7896543210
6789543210
5678943210
4567893210
3456789210
2345678910
1234567890
0123456789

时间: 2024-10-24 02:04:53

python和C语言分别实现插入排序的相关文章

为什么我不会舍弃Python投奔Go语言

最近,由于一篇"为什么我不会舍弃Python投奔Go语言(英文)"的博客,我收到了大量的邮件,这篇文章中,作者说Go语言除了"用返回值来处理异常错误"这点外,其它的都非常好.我想写出一点东西,解释一下Go语言为什么这样做,这会对大家都有用. 本文作者:Russ Cox 在Go语言中,规定的方式是,函数返回错误信息.这没什么.如果一个文件并不存在,op.Open函数会返回一个错误信息.这没什么.如果你向你一个中断了的网络连接里写数据,net.Conn里的Write方法

机器学习算法基础(Python和R语言实现)

简介 谷歌的无人驾驶汽车已经受到了世人很大的关注,但公司的未来却是在机器学习领域,因为这项技术将使电脑更智能,更人性化.--埃里克·施密特(谷歌主席) 我们可能正经历着人类最明确定义的阶段,这个阶段计算机计算从大型主机,到个人电脑,到云计算.但这些并不是根本原因,而是接下来几年中将会发生的. 这个时期使那些像我一样的人们兴奋的是工具和技术的开放,这得以于计算机领域的蓬勃发展.今天,作为一名数据科学家,我能以很低的成本搭建一个拥有复杂算法的数据处理系统.但是达到这样的结果,我也经历了在黑夜中艰苦的

为什么我不会舍弃 Python 投奔 Go 语言

本文的作者:Russ Cox Russ Cox毕业于麻省理工和哈佛大学,曾在贝尔实验室参与过Plan 9 和 Unix操作系统的开发,最近在google,主要开发Go语言. 最近关于Go语言的话题很多,本月刚好是Go语言诞生3周年.这个语言在谷歌巨人的推动下最终很可能成为今后的主流语言.如果你想简单了解一下Go语言,这里有Go语言官方网站提供的一个很简单的中文版的"Go语言半小时速成教程",不妨一看. 下面是译文内容: 最近,由于一篇"为什么我不会舍弃Python投奔Go语言

Python VS R语言?数据分析与挖掘该选哪一个?

什么是R语言? R语言,一种自由软件编程语言与操作环境,主要用于统计分析.绘图.数据挖掘.R本来是由来自新西兰奥克兰大学的罗斯·伊哈卡和罗伯特·杰特曼开发(也因此称为R),现在由"R开发核心团队"负责开发.R基于S语言的一个GNU计划项目,所以也可以当作S语言的一种实现,通常用S语言编写的代码都可以不作修改的在R环境下运行.R的语法是来自Scheme. R的源代码可自由下载使用,亦有已编译的可执行文件版本可以下载,可在多种平台下运行,包括UNIX(也包括FreeBSD和Linux).W

《Python核心编程(第二版)》——1.7 比较Python(Python与其他语言的比较)

1.7 比较Python(Python与其他语言的比较) Python已经和很多语言比较过了.一个原因就是Python提供了很多其他语言拥有的特性,另外一个原因就是Python本身也是由诸多其他语言发展而来的,包括ABC.Modula-3.C.C++.Algol-68.SmallTalk.Unix shell和其他的脚本语言,等等.Python就是"浓缩的精华":Van Rossum研究过很多语言,从中吸收了许多觉得不错的特性,并将它们溶于一炉. 然而,往往因为Python是一门解释型

Python赶超R语言,成为数据科学、机器学习平台中最热门的语言?

近日,kdnuggets做了一个关于数据科学.机器学习语言使用情况的问卷调查,他们分析了954个回答,得出结论--Python已经打败R语言,成为分析.数据科学和机器学习平台中使用频率最高的语言.有关此次问卷更具体的情况如何?笔者将kdnuggets上发表的总结文编译整理如下: 之前我们在kdnuggets上做了这样一个问卷调查,2016.2017两年,在分析.数据科学和机器学习的工作中,你用R语言,还是Python,或两者都用,或选择其他的语言? 通过分析954个回答,我们得出了这样的结论:虽

Python和GO语言实现的消息摘要算法示例_python

常用的消息摘要算法有MD5和SHA,这些算法在python和go的库中都有,需要时候调用下就OK了,这里总结下python和go的实现. 一.python消息摘要示例 代码如下: 复制代码 代码如下: #! /usr/bin/python '''       File      : testHash.py       Author    : Mike       E-Mail    : Mike_Zhang@live.com ''' import hashlib src = raw_input(

简单了解C语言中直接插入排序与直接选择排序实现_C 语言

直接插入排序基本思路: 1. 从a[0]开始,也就是从1个元素开始是有序的,a[1]~a[n-1]是无序的. 2. 从a[1]开始并入前面有序的数组,直到n-1. #include <stdio.h> #define N 5 void insertsort(int a[], int n); void swap(int *x, int *y); void insertsort(int a[], int n){ int i,j; for(i=1; i<n; i++){ for(j=i; j&

《Python自然语言处理》——第1章 语言处理与Python 1.1 语言计算:文本和词汇

第1章 语言处理与Python 我们能够很容易地得到数百万数量级的文本.假设我们会写一些简单的程序,那可以用它来做些什么?本章将解决以下几个问题. (1)通过将技术性较简单的程序与大规模文本结合起来,我们能实现什么? (2)如何自动地提取出关键字和词组,用来总结文本的风格和内容? (3)Python编程语言为上述工作提供了哪些工具和技术? (4)自然语言处理中有哪些有趣的挑战呢? 本章分为风格完全不同的两部分.在1.1节,我们将进行一些与语言相关的编程练习而不去解释它们是如何实现的.在1.2节,