双循环链表解决耶稣门徒问题
2017-11-01 14:47
411 查看
#include<stdio.h> #include<malloc.h> #define MaxSize 15 typedef struct Dnode { int data; struct Dnode *prior, *next; }Dnode, *DLinkList; DLinkList CreatList() { int data[MaxSize] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; DLinkList L; L = (DLinkList)malloc(sizeof(Dnode)); L->next = NULL; L->prior = NULL; L->data = data[0]; DLinkList head = L; Dnode *p; int i = 1; while(i<MaxSize) { p = (Dnode*)malloc(sizeof(Dnode)); p->data = data[i]; L->next = p; p->prior = L; p->next = NULL; L = p; i++; //printf("%d\n", p->data); } p->next = head; head->prior = p; return head; } void Del(DLinkList L) { Dnode *p; p = L; int k = 15; int t = 1; while(k != 1) { if (t%3 == 0) { p->next->prior = p->prior; p->prior->next = p->next; k--; } t++; p = p->next; } printf("%d", p->data); } int main() { int data[MaxSize]; int i; for (i = 0; i < 15; i++) { data[i] = i+1; } DLinkList L; L = CreatList(); //Dnode *L = (Dnode)malloc(sizeof(Dnode)); Del(L); return 0; }
相关文章推荐
- 循环双向链表 及 约瑟夫问题的解决
- 第十课 循环链表,约瑟夫环问题的解决
- 用上节的循环双向链表解决vigenere加密问题。
- 循环链表 CircleList的实现并解决约瑟夫环问题
- C语言通过双向循环链表解决Josephus(约瑟夫)问题
- C语言单向循环链表解决约瑟夫问题
- 单循环链表 解决约瑟夫环的问题
- [转]用单向循环链表解决约瑟夫环问题
- 【链表】单链表循环解决Josephus问题
- 单循环链表解决约瑟夫问题
- 用个循环链表解决约瑟夫环问题
- 循环链表解决约瑟夫问题
- 循环链表解决约瑟夫环问题
- 循环链表解决约瑟夫环问题
- 循环链表--解决Josephus问题
- 用单向循环链表解决约瑟夫环(Joseph)问题
- C语言单向循环链表解决约瑟夫问题
- 循环链表解决约瑟夫环问题
- 使用C#循环链表解决约瑟夫环的问题
- 单循环链表解决约瑟夫环问题