将线性表以带头结点的单链表作存储结构,偶数放前,奇数放后;
代码如下:
#include<stdio.h> typedef struct LNode { int data ; struct LNode *next ; }LNode , *LinkList ; int main() { LinkList L ; LinkList p = new LNode ; L = p ; int i = 1 ; for(; i < 10 ; i++) { LinkList s = new LNode ; s->data = i ; p->next = s ; p = s; } p->next = NULL ; LinkList q = L ; p = L->next ; while(p&&p->next) { LinkList r = p->next ; p->next = r->next ; r->next = q->next ; q->next = r ; q = q->next ; p = p->next ; } p = L->next ; while(p) { printf("%d ",p->data) ; p = p->next ; } return 0 ; }
由于思维定势,想了半天才想通……
算法分析(54页)
时间: 2024-11-06 01:44:12