|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 ~风介~ 于 2016-5-19 17:27 编辑
- /*
- *简介:单链表的两种建立方法。
- *头插法:让新节点始终排在第一位置。
- *尾插法:让新节点始终排在最后位置。
- *Powered by Niko!
- */
- #include <stdio.h>
- #include <stdlib.h>
- #define OK 1
- #define ERROR -1
- typedef int ElemType;
- typedef int Status;
- typedef struct Node
- {
- ElemType data;
- struct Node *next;
- }linkedList;
- //函数声明
- Status printLinkedList (linkedList *head);
- linkedList *createLinkedList ();
- //打印函数
- Status printLinkedList (linkedList *head)
- {
- linkedList *p;
- for(p=head->next; p!=NULL; p=p->next)
- printf ("%-3d", p->data);
- printf ("\n");
-
- return OK;
- }
- //头插法
- linkedList *createLinkedList ()
- {
- //定义
- int i = 0;
- linkedList *head,*L = (linkedList*)malloc(sizeof(linkedList));
- head = L;
- L->next = NULL;
- //循环插入新节点
- printf("请输入整数<以86结束>:\n");
- scanf("%d",&i);
- while(86 != i)
- {
- linkedList *p = (linkedList*)malloc(sizeof(linkedList));
- p->data = i;
- p->next = L->next;
- L->next = p;
- scanf("%d",&i);
- }
-
- return (head);
- }
- /*
- //尾插法
- linkedList *createLinkedList ()
- {
- //定义
- int i = 0;
- linkedList *head,*L = (linkedList*)malloc(sizeof(linkedList));
- head = L;//插入过程中节点L不断往后移动
- L->next = NULL;
- //循环插入新节点
- printf("请输入整数<以86结束>:\n");
- scanf("%d",&i);
- while(86 != i )
- {
- linkedList *p = (linkedList *)malloc(sizeof(linkedList));
- p->data = i;
- L->next = p;
- L = p;
- scanf("%d",&i);
- //printf ("Bingo!");
- }
- //printf ("Bingo!");
- L->next = NULL;
-
- return (head);
- }
- */
-
- //主函数
- int main ()
- {
- printLinkedList(createLinkedList());
- return 0;
- };
复制代码
|
|