10.2-7 O(n)非递归逆转单向链表的n个元素。

来源:互联网 发布:python教程 图灵 编辑:程序博客网 时间:2024/05/19 14:53
//10.2-7 O(n)非递归逆转单向链表的n个元素。#include<stdio.h>#include<stdlib.h>typedef struct NODE{    char key;struct NODE* next;}NODE;NODE *L=NULL;void insert(NODE* p){//插入到头结点    p->next=L;    L=p;}NODE* createnode(char key){    NODE*p=(NODE*)malloc(sizeof(NODE));    if(!p){        puts("memory exhausted.");exit(1);    }    p->key=key;    return p;}void traverse(){    NODE*p;    for(p=L;p;p=p->next)        putchar(p->key);    putchar('\n');}void inverse()//删除原来头结点的下一个结点,再插入到最前。{    if(!L) return ;    NODE*still=L,*p;    while(p=still->next){        still->next=p->next;        p->next=L;L=p;    }}int main(void){    insert(createnode('z'));    insert(createnode('y'));    insert(createnode('x'));    insert(createnode('w'));    traverse();inverse();    traverse();inverse();    traverse();    return 0;}

0 0
原创粉丝点击