第四周项目一建立单链表
来源:互联网 发布:复合增长率简单算法 编辑:程序博客网 时间:2024/05/16 19:19
问题及代码:
学习心得:
学习了单链表的两种建立方法,并初步建成单链表库。
/** Copyright (c++) 2017, 烟台大学计算机学院*All rights reserved,* 文件名: main.cpp* 作 者:王效杰*完成日期:2017年 9月 18日;* 第四周 :课后上机实践项目1*/#include <stdio.h>#include <malloc.h>#include "alonglist.h";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;}
alonglist.cpp
#include <stdio.h>#include <malloc.h>#include "alonglist.h";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; //将*s插在原开始结点之前,头结点之后 L->next=s; }}void CreateListR(LinkList *&L,ElemType a[],int n)//尾插法建立单链表{ LinkList *s,*r; int i; L=(LinkList *)malloc(sizeof(LinkList)); //创建头结点 L->next=NULL; r=L; //r始终指向终端结点,开始时指向头结点 for (i=0; i<n; i++) { s=(LinkList *)malloc(sizeof(LinkList));//创建新结点 s->data=a[i]; r->next=s; //将*s插入*r之后 r=s; } r->next=NULL; //终端结点next域置为NULL}void DestroyList(LinkList *&L) //销毁单链表{ LinkList *p=L,*q=p->next; while (q!=NULL) { free(p); p=q; q=p->next; } free(p); //此时q为NULL,p指向尾结点,释放它}void DispList(LinkList *L) //输出单链表{ LinkList *p=L->next; while (p!=NULL) { printf("%d ",p->data); p=p->next; } printf("\n");}alonglist.h
#ifndef ALONGLIST_H_INCLUDED#define ALONGLIST_H_INCLUDEDtypedef int ElemType;typedef struct LNode //a定义单链表结点类型{ 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) //输出单链表#endif // ALONGLIST_H_INCLUDED运行结果:
学习心得:
学习了单链表的两种建立方法,并初步建成单链表库。
阅读全文
0 0
- 第四周项目一 建立单链表
- 第四周--项目一--建立单链表
- 第四周项目一建立单链表
- 第四周项目一-建立单链表
- 第四周 项目一- 建立单链表
- 第四周项目一 建立单链表
- 第四周项目一建立单链表
- 第四周 项目一【建立单链表】
- 第四周项目一 建立单链表
- 第四周-项目一 建立单链表
- 第四周【项目一-建立单链表】
- 第四周项目一-建立单链表
- 第四周-项目一-建立单链表
- 第四周 项目一【建立单链表】
- 第四周 项目一 单链表的建立
- 第四周项目一 建立单链表
- 第四周项目一—建立单链表
- 第四周项目一建立单链表
- 第四周【项目3
- java contains方法的实现
- Tesseract-OCR的简单使用与训练
- 分页页码
- VS2015帮助出错 指定的用于安装帮助的位置无效
- 第四周项目一建立单链表
- Spring AOP中定义切点(PointCut)和通知(Advice)
- 实验一 Linux操作系统的安装
- mybatis中mapper文件中的动态sql语句
- POJ
- go的入门之路 http get请求
- 二次采样
- 关于idea创建项目的一些异常
- B. Preparing for Merge Sort(二分)