博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
005 -- DuLinkList_add nodes, delete node, Caser print..
阅读量:6290 次
发布时间:2019-06-22

本文共 1898 字,大约阅读时间需要 6 分钟。

000-- define a Dulinklist

A empty DuLinklist:

 

typedef struct DualNode{    ElemType data;    struct DualNode *prior;    struct DualNode *next;    }DualNode, *DuLinkList;

 

 

  •  Add a new Node

 

 

 

s->next = p;    s->prior = p->prior;    p->prior->next = s;    p->prior = s;

 

 

  • Delete a Node

 

 

 

p->prior->next = p->next;p->next->prior = p->prior;    free(p);

 

 print A-Z with the defined sequence by user

 

e.g.  user input 3

then should be DEFG....ZABC

user input -3

then should be XYZABCEFG.....W

 

#define OK 1;#define ERROR 0;typedef char ElemType;typedef int Status;typedef struct DualNode;{    ElemType data;    struct DualNode *prior;    struct DualNode *next;    }DualNode, *DuLinkList;Status InitList(DuLinkList *L){    DualNode *p,*q;    int i;        *L = (DuLinkList)malloc(sizeof(DualNode));        if(!(*L))        return ERROR;        (*L)->next = (*L)->prior = NULL;        p = (*L);        for(i=0;i<26;i++)    {        q = (DualNode *)malloc(sizeof(DualNode));                if(!q)            return ERROR;                q->data = 'A'+i;        q->prior = p;        q->next = p->next;         p->next = q;        p=q;    }        p->next = (*L)->next; //the last Node points to the first Node    (*L)->next->prior = p; //set the first Node with data 'A' as head Node        return OK;}void caser(DuLinkList *L, int i){    if(i>0)    {        do{            (*L) = (*L)->next;        } while(--i);    }        if(i>0)    {        i = i-1;        (*L)=(*L)->next;                do{            (*L) = (*L)->prior;                    }while (++i);            }    }int main(){    DuLinkList L;    int i n;    InitList(&L);    printf("Please input a integer: \n");    scanf("%d", &n);    printf("\n");        caser(&L,n);        for(i=0;i<26;i++)    {        L = L->next;        printf("%c", L->data);            }        printf("\n");        return 0;}

 

转载于:https://www.cnblogs.com/Shareishappy/p/7545169.html

你可能感兴趣的文章
angularjs入门(一)
查看>>
环境变量PATH、cp命令、mv命令、cat命令、tac命令、more、less、head、tail
查看>>
bandit系列0--10
查看>>
文本过滤之grep,egreo及fgrep 三剑客及正则表达式
查看>>
实现Singleton模式在C#
查看>>
服务发现:Zookeeper vs etcd vs Consul
查看>>
微软企业项目管理系统技术研讨会
查看>>
Kafka设计篇之消息传输的事务定义
查看>>
我的友情链接
查看>>
使用windows 7 系统安装盘 DOS普通用户提权为管理员
查看>>
老男孩教育每日一题第115天:如何在centos 6下面实现命令补全?效果如下
查看>>
国内可用的yum源
查看>>
linux df -h 命令卡住 解决方法
查看>>
spring是什么,Spring能帮我们做什么
查看>>
Codeforces 861D - Polycarp's phone book
查看>>
FreePortScanner.java
查看>>
HttpURLConnection 文件上传限制
查看>>
javascript类式继承新的尝试
查看>>
真正掌握vuex的使用方法(四)
查看>>
MySql的Communications link failure解决办法
查看>>