- 论坛徽章:
- 0
|
我贴我写的.
- #include <stdio.h>
- typedef struct test {
- struct test* next;
- struct test* prev;
- int value;
- }test;
- fun()
- {
- test* list;
- test* node;
- test* p;
- test* q;
- list = (test*)malloc(sizeof(struct test));
- list->value = 1;
- list->next = NULL;
- list->prev = NULL;
- int i = 2;
- for(i; i <= 2000; i++) {
- node = (test*)malloc(sizeof(struct test));
- node->value = i;
- if(list->next == NULL) {
- list ->next = node;
- list ->prev = node;
- node->next = list;
- node->prev = list;
- }
- else {
- node->prev = list->prev;
- node->next = list;
- list->prev->next = node;
- list->prev = node;
- }
- }
- p = list;
- while(p ->next != p) {
- q = p;
- p ->prev->next = p ->next;
- p->next->prev = p ->prev;
- p = p->next->next;
- free(q);
- }
- printf("the value:%d\n", p->value);
- }
- int main()
- {
- fun();
- return 0;
- }
复制代码
答案为 the value:1952
[ 本帖最后由 yuangong 于 2007-8-13 14:18 编辑 ] |
|