java從尾到頭列印連結串列
阿新 • • 發佈:2019-02-11
#include #include typedef struct LinkNode{ struct LinkNode*prior; struct LinkNode*next; int data; }LinkNode,*LinkList; int main() { int n; LinkList plist = (LinkList)malloc(sizeof(LinkNode)); LinkNode *pNode,*rear; rear = plist; while(~scanf("%d", &n)) { if(n == -1) continue; pNode = (LinkNode*)malloc(sizeof(LinkNode)); pNode->data = n; rear->next = pNode; pNode->prior = rear; rear = pNode; scanf("%d", &n); while(n!=-1) { pNode = (LinkNode*)malloc(sizeof(LinkNode)); pNode->data = n; plist->next = pNode; pNode->prior = rear; rear = pNode; scanf("%d", &n); } rear->next = NULL; while(rear!=plist) { printf("%d\n",rear->data); rear = rear->prior; } } return 0;
}
//頭插法 #include #include typedef struct LinkNode{ struct LinkNode*next; int data; }LinkNode,*LinkList; int main() { int n; LinkList plist = (LinkList)malloc(sizeof(LinkNode)); plist->next = NULL; LinkNode *pNode,*rear; while(~scanf("%d", &n)) { if(n == -1) continue; pNode = (LinkNode*)malloc(sizeof(LinkNode)); pNode->data = n; pNode->next = plist->next; plist->next = pNode; scanf("%d", &n); while(n!=-1) { pNode = (LinkNode*)malloc(sizeof(LinkNode)); pNode->data = n; pNode->next = plist->next; plist->next = pNode; scanf("%d", &n); } rear = plist->next; while(rear!=NULL) { printf("%d\n",rear->data); rear = rear->next; } } return 0; }