Link List

At first, i prepared to go through 《the introduction to algorithm》 ,however , i found some part of the book is difficult to understand; what’s more , i can’t borrow the book in the library. Then i found another book, 《algorithm in C》,which reveal most basic idea of some classical algorithm, so i decide to read this book firstly.

example 1:josephus funciton

#include<stdlib.h>
#include<stdio.h>
typedef struct node* link;
struct node
{
    int item;
    link next;
};

int main(int argc,char *argv[])
{
    int i, N, M;
    scanf("%d%d",&N,&M);
    node *t = new node,*x;
    x = t;
    t->item = 1;
    t->next = t;
    for (i = 2; i <= N; i++)
    {
        x->next = new node;
        x = x->next;
        x->item = i;
        x->next = t;
    }
    while (x != x->next)
    {
        for (i = 1; i < M; i++)
        {
            x = x->next;
        }
        x->next = x->next->next;
        N--;
    }
    printf("%d\n",x->item);
}

example2: reverse link list

#include<stdlib.h>
#include<stdio.h>
typedef struct node* link;
struct node
{
    int item;
    link next;
    node()
    {
        next = NULL;
    }
};

link reverse(link x)
{
    /*
    将y后节点的指针保存在t中,然后将y的链接指向r,再使r移到y,y移到t
    */
    link t, y = x, r = NULL;
    while (y != NULL)
    {
        t = y->next;
        y->next = r;
        r = y;
        y = t;
    }
    return r;
}

int main(int argc,char *argv[])
{
    int i, N, M;
    scanf("%d%d",&N,&M);
    node *t = new node,*x,*head;
    x = t;
    head = t;
    t->item = 1;
    t->next = t;
    for (i = 2; i <= N; i++)
    {
        x->next = new node;
        x = x->next;
        x->item = i;
    }
    node *newhead = reverse(head);
    while (newhead != NULL)
    {
        printf("%d ",newhead->item);
        newhead = newhead->next;
    }
}
时间: 2024-11-05 20:39:10

Link List的相关文章

[PReact] Use Link State to Automatically Handle State Changes

Storing and updating values inside a component’s local state (known as controlled components) is such a common pattern that Preact offers a really handy feature called ‘link state’ that not only removes the need to bind class methods, but also handle

HTML5移动开发中的meta与link

meta HTML5移动开发中的一些webkit专属头部标签,能够帮助浏览器更好的解析HTML代码,从而为HTML5移动开发提供更好的前端表现与体验 viewport网页缩放 1 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" /> UTF-8编码 1

[转载] Docker网络原则入门:EXPOSE,-p,-P,-link

原文: http://dockone.io/article/455 如果你已经构建了一些多容器的应用程序,那么肯定需要定义一些网络规则来设置容器间的通信.有多种方式可以实现:可以通过--expose参数在运行时暴露端口,或者在Dockerfile里使用EXPOSE指令.还可以在Docker run的时候通过-p或者-P参数来发布端口.或者通过--link链接容器.虽然这些方式几乎都能达到一样的结果,但是它们还是有细微区别.那么到底应该使用哪一种呢? TL:DR 使用-p或者-P来创建特定端口绑定

ifconfig、route、ip route、ip addr、 ip link 用法

网络管理是一个复杂而庞大的体系,博主最近刚好学了一点关于网络的知识,就跟大家分享一下,如何管理网卡.配置及查看ip地址和路由表.主要通过以下几个命令来演示一下. 一.ifconfig 1)配置地址: 比如修改eth0网卡的ip为192.168.174.100,子网掩码为255.255.255.0 ifconfig eth0 192.168.174.100/24 使用ifconfig修改ip会直接在内存中生效,重启系统或者重启network服务就丢失. 重启服务:Centos6:service n

尽量少嵌套无用的div;外部文件尽量使用link而不要使用用@import

最近的工作又学到了很多东西,在这里记录一下. 1,尽量少嵌套无用的div,这个问题领导很严肃的跟我提过很多次,因为我很喜欢用很多div,而且有很多div都是无存在意义的.后来领导给了我一些资料,我看了一下,发现这样做确实存在很大的问题,原因如下:(以下蓝底文字摘自搜狐WEB标准) 2.1 节约运营成本 采用 WEB 标准制作,我们可以做到表现和形式及内容的分离,我们采用XHTML 语言来表现(数据),用CSS 来控制(页面元素呈现的)形式.写的好的页面,XHTML 代码中基本上都是用户要看的数据

luoguP3690 【模板】Link Cut Tree (动态树)[LCT]

题目背景 动态树 题目描述 给定N个点以及每个点的权值,要你处理接下来的M个操作.操作有4种.操作从0到3编号.点从1到N编号. 0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor和.保证x到y是联通的. 1:后接两个整数(x,y),代表连接x到y,若x到Y已经联通则无需连接. 2:后接两个整数(x,y),代表删除边(x,y),不保证边(x,y)存在. 3:后接两个整数(x,y),代表将点X上的权值变成Y. 输入输出格式 输入格式: 第1行两个整数,分别为N和M,代表点数和操

LintCode Problems Link Table

Practice Makes Perfect! # Problem Link Tag Difficulty 1 A + B problem Bitwise Operation Easy 2 Trailing Zeros Math Easy 3 Digit Counts   Medium 4 Ugly Number II   Medium 5 Kth Largest Element   Medium 6 Merge Two Sorted Arrays   Easy 7 Binary Tree Se

docker官方文档中的dns,link,expose,publish

link是过时的了,尽量不要用. dns内部集成,也可以用外部. expose只是用于记录,并不真的. publish是否起作用,也要看情况,是否被占用端口. -------------------------------------- Embedded DNS server Docker daemon runs an embedded DNS server which provides DNS resolution among containers connected to the same

a标签的link,visited,hover,active分别是什么

a:link {color: #FF0000} /*未访问状态*/ a:visited {color: #00FF00}/*已访问状态*/ a:hover {color: #FF00FF}/*鼠标移入到元素上面时的状态*/ a:active {color: #0000FF}/*鼠标按下状态状态*/

AngularJS指令中的compile与link函数解析

AngularJS指令中的compile与link函数解析 通常大家在使用ng中的指令的时候,用的链接函数最多的是link属性,下面这篇文章将告诉大家complie,pre-link,post-link的用法与区别. 原文地址 angularjs里的指令非常神奇,允许你创建非常语义化以及高度重用的组件,可以理解为web components的先驱者. 网上已经有很多介绍怎么使用指令的文章以及相关书籍,相互比较的话,很少有介绍compile与link的区别,更别说pre-link与post-lin