第四周 项目1 建立单链表
来源:互联网 发布:maya编程语言 编辑:程序博客网 时间:2024/06/06 17:08
/* *Copyright (c)2015, 烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:Apply.cpp *作 者:苏凯祺 *完成日期:2014年10月21号 *版 本 号:v1.0 *问题描述:定义单链表储存结构,用头插法和尾插法建立单链表,并显示建立好以后的结果。*/ #include <stdio.h>#include <malloc.h>typedef int ElemType;typedef struct LNode //定义单链表结点类型{ ElemType data; struct LNode *next; //指向后继结点} LinkList;void CreateListF(LinkList *&L,ElemType a[],int n);//头插法建立单链表void CreateListR(LinkList *&L,ElemType a[],int n);//尾插法建立单链表void DestroyList(LinkList *&L); //销毁单链表void DispList(LinkList *L); //输出单链表int main(){ LinkList *L1, *L2; ElemType a[8]= {7, 9, 8, 2, 0, 4, 6, 3}; CreateListF(L1, a, 8); printf("头插法建表结果:"); DispList(L1); CreateListR(L2, a, 6); printf("尾插法建表结果:"); DispList(L2); DestroyList(L1); DestroyList(L2); return 0;}void CreateListF(LinkList *&L,ElemType a[],int n)//头插法建立单链表{LinkList *s;int i;L=(LinkList *)malloc(sizeof(LinkList));L->next=NULL;for(i=0;i<n;i++){ s=(LinkList *)malloc(sizeof(LinkList)); s->data=a[i]; s->next=L->next; L->next=s;}}void CreateListR(LinkList *&L,ElemType a[],int n)//尾插法建立单链表{LinkList *s,*r;int i;L=(LinkList *)malloc(sizeof(LinkList));r=L;L->next=NULL;for(i=0;i<n;i++){ s=(LinkList *)malloc(sizeof(LinkList)); s->data=a[i]; r->next=s; r=s;}r->next=NULL;}void DestroyList(LinkList *&L)//销毁单链表{ LinkList *pre=L,*p=L->next; while(p!=NULL) { free(pre); pre=p; p=pre->next; } free(pre);}void DispList(LinkList *L) //输出单链表{LinkList*p=L->next;while(p!=NULL){ printf("%d",p->data); p=p->next;}printf("\n");}
运行结果:
知识点总结:
头插法和尾插法,需要注意是插在哪,插完之后是什么样的,再一次的时候就要开始循环了。释放单链表要逐一释放,逐一输出。
学习心得:
还是要画图去理解,毕竟有点抽象。
1 0
- 第四周项目1-建立单链表
- 第四周-项目1-建立单链表
- 第四周项目(1):建立单链表
- 第四周项目1-建立单链表
- 第四周项目1—建立单链表
- 第四周-项目1 - 建立单链表
- 第四周—项目1 建立单链表
- 第四周 项目1-建立单链表
- 第四周 项目1-建立单链表
- 第四周 项目1-建立单链表
- 第四周实践项目1--建立单链表
- 第四周项目1-建立单链表
- 第四周 项目1 建立单链表
- 第四周项目1—建立单链表
- 第四周项目1建立单链表
- 第四周项目1-建立单链表
- 第四周—项目1 建立单链表
- 第四周 项目1-建立单链表
- HDU 1686 - Oulipo(kmp)
- Freemarker中将字符串转换为数字number
- windows wamp运行提示 Fatal error: Call to undefined function curl_init的解决方法
- actionbar设置背景图片和文字颜色
- 运行地址和加载地址
- 第四周 项目1 建立单链表
- [笔记] Convex Optimization 2015.10.14
- 自己写的第一本Linux教程,也小小的班门弄斧一下
- linux学习笔记--centos 安装
- poj 1651 Multiplication Puzzle(区间DP)
- BaiduMap初体验(一) 搭建百度地图的环境
- php header输出类型(备查)
- 内存中堆和栈的区别
- 使用ligerUI遇到未知参数、方法处理办法