算法分析(54页)

将线性表以带头结点的单链表作存储结构,偶数放前,奇数放后;

代码如下:

#include<stdio.h>
typedef struct LNode    {
    int data ;
    struct LNode *next ;
}LNode , *LinkList ;
int main()  {
    LinkList L ;
    LinkList p = new LNode ;
    L = p ;
    int i = 1 ;
    for(; i < 10 ; i++) {
        LinkList s = new LNode ;
        s->data = i ;
        p->next = s ;
        p = s;
    }
    p->next = NULL ;
    LinkList q = L ;
    p = L->next ;
    while(p&&p->next)   {
        LinkList r = p->next ;
        p->next = r->next ;
        r->next = q->next ;
        q->next = r ;
        q = q->next ;
        p = p->next ;
    }
    p = L->next ;
    while(p)    {
        printf("%d ",p->data) ;
        p = p->next ;
    }
    return 0 ;
}

由于思维定势,想了半天才想通……

算法分析(54页)

时间: 2024-08-26 21:43:55

算法分析(54页)的相关文章

《JavaScript语言精粹》笔记

Function.prototype.method=function(name,func){    this.prototype[name]=func;    return this;}//1.注释最好使用双斜杠而不是带*斜杠/*2.数字,js不区分整数类型,1和1.0是相等的 * NaN是一个数值,它表示一个不能产生正常结果的运算结果.NaN不等于任何值,包括它自己,可用isNaN(number)检查 * 值Infinity表示所有大于1.79769313486231570e+308的值 */

linux文件空洞

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> int main(int argc, char const *argv[]) { char *buf[1024]; int recfile=

华为C语言编程规范

DKBA华为技术有限公司内部技术规范DKBA 2826-2011.5C语言编程规范2011年5月9日发布 2011年5月9日实施华为技术有限公司Huawei Technologies Co., Ltd.版权所有 侵权必究All rights reserved密级:confidentiality levelDKBA 2826-2011.52011-06-02 华为机密,未经许可不得扩散 Huawei Confidential 第2页,共61页Page 2 , Total61修订声明Revision

CSS控制print打印样式

来源:http://blog.csdn.net/pangni/article/details/6224533 一.添加打印样式 1. 为屏幕显示和打印分别准备一个css文件,如下所示:   用于屏幕显示的css: <link rel="stylesheet" href="css/mainstylesheet.css" media="screen" />   用于打印的css:<link rel="stylesheet&

Makefile学习笔记

第一部分.概述  什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂.这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义.特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力. 因为,makefile关系到了整个

C/C++ 内存管理问题

内存分配方式有三种: (1) 从静态存储区域分配.内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量,static 变量. (2) 在栈上创建.在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放.栈内存分 配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限. (3) 从堆上分配,亦称动态内存分配.程序在运行的时候用 malloc 或 new 申请任意多少的内存,程序员自己负责在何时用 free 或 delete

webform 分页

界面: 1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 2 3 <!DOCTYPE html> 4 5 <html xmlns="http://www.w3.org/1999/xhtml"> 6 <head runat=

ROS机器人程序设计(原书第2版)补充资料 (贰) 第二章 ROS系统架构及概念

由于工作事物繁忙,更新有些慢,抱歉. 已经完成的各章节补充说明,会依据反馈意见持续更新,希望大家多提宝贵意见,非常感谢. 在完成了第一章的学习实现之后,基本已经掌握了ROS系统的安装,那么如何使用ROS,理解系统架构和概念,这是第二章的内容.hydro-indigo-kinetic通用概念不做区分. 如果使用IDEs进行ROS开发环境构建,推荐:http://wiki.ros.org/IDEs RoboWare Studio:http://www.roboware.me 补充参考:http://

Chapter 6-03

Please indicate the source: http://blog.csdn.net/gaoxiangnumber1 Welcome to my github: https://github.com/gaoxiangnumber1 6.6 详解muduo多线程模型 ?本节以Sudoku Solver为例,回顾了并发网络服务程序的多种设计方案,并介绍了使用muduo网络库编写多线程服务器的两种最常用手法.本节代码参见:examples/sudoku/. 6.6.1 数独求解服务器 ?假