데이터 구조의 마술사 의 패

1268 단어 데이터 구조
# include 
# include 

typedef struct Node
{
	struct Node * pNext;
	int val;
	bool empty;				//   ,     false,   true
}NODE,* PNODE;


PNODE init();
void magic(PNODE);
void traverse(PNODE);

int main()
{
	PNODE pHead=init();
	//traverse(pHead);
	magic(pHead);
	traverse(pHead);
	return 0;
}

PNODE init()
{
	PNODE pHead=(PNODE)malloc(sizeof(NODE));
	pHead->empty=true;
	pHead->pNext=NULL;
	//pHead->val=1;
	PNODE p=pHead;

	for (int i=2;i<=13;++i)
	{
		PNODE pNew=(PNODE)malloc(sizeof(NODE));
		pNew->empty=true;
		pNew->pNext=pHead;
		//pNew->val=i;

		p->pNext=pNew;
		p=pNew;
	}
	return pHead;
}

void traverse(PNODE pHead)
{
	PNODE p=pHead;
	do 
	{
		printf("%d ",p->val);
		p=p->pNext;
	} while (p!=pHead);
	printf("
"); } void magic(PNODE pHead) { PNODE p=pHead; while(pHead!=p->pNext) p=p->pNext; // , for (int i=1;i<=13;++i) // { for (int j=1;j<=i;++j) // { p=p->pNext; // while(!p->empty) // , p=p->pNext; } p->empty=false; // , p->val=i; } }

좋은 웹페이지 즐겨찾기