第四周项目一建立单链表

编程入门 行业动态 更新时间:2024-10-15 10:17:31

第四周项目一建立单<a href=https://www.elefans.com/category/jswz/34/1769662.html style=链表"/>

第四周项目一建立单链表

问题及代码:
/*
* 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

运行结果:


学习心得:
  学习了单链表的两种建立方法,并初步建成单链表库。

更多推荐

第四周项目一建立单链表

本文发布于:2024-03-09 00:23:57,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1723010.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:链表   项目

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!