단일 체인 테이블의 역행 조작

1760 단어 struct테스트null
#include<stdio.h>
#include<stdlib.h>

/*      */
typedef struct Lnode
{
	int data;
	struct Lnode *next;
}Lnode, *LinkList;         //    ,      

/*        */
void Create_LinkList_B(LinkList &L)
{
	int x, cycle = 1;
	Lnode *p, *s;
	L=(LinkList)malloc(sizeof(Lnode)); //     
	L->next = NULL;
	p=L;
	while(cycle)    //          ,-1    
	{
		printf("x = ?
"); scanf("%d", &x); if(x != -1) { s=(Lnode *)malloc(sizeof(Lnode)); // s->data = x; p->next = s; // p = s; //p } else { cycle = 0; // -1, , } } p->next = NULL; } /* */ void Reverse_LinkList(LinkList &L) { Lnode *p, *q; p = L->next; //P L->next = NULL; // while(p != NULL) { q = p; p = p->next; q->next = L->next; // , L->next = q; } } /* */ void Print_LinkList(LinkList &L) { Lnode* p; p = L->next; //L ,p , while(p != NULL) { printf("%d
", p->data); p = p->next; } } /* */ int main() { LinkList H; // Create_LinkList_B(H); printf("
"); Print_LinkList(H); printf("----- -----
"); Reverse_LinkList(H); Print_LinkList(H); return 0; }

좋은 웹페이지 즐겨찾기