第四周 项目1 - 建立单链表
2016-09-22 11:08
405 查看
/* Copyright (c)2016,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:项目1--建立单链表.cpp 作 者:王曼 完成日期:2016年9月22日 版 本 号:v1.0 问题描述:定义单链表存储结构,用头插法和尾插法建立单链表,并显示建立好以后的结果。 输入描述:若干数据 。 程序输出:输出8个以头插法建立的链表数据和6个以尾插法建立的链表数据。 */
代码
#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]= {1, 9, 9, 7, 7, 9, 9, 1}; 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) { int i=0; LinkList *p,*q; L=(LinkList *)malloc(sizeof(LinkList)); L->next=NULL; while(i<n) { p=(LinkList *)malloc(sizeof(LinkList)); p->data=a[i]; p->next=L->next; L->next=p; i++; } } void CreateListR(LinkList *&L,ElemType a[],int n) { LinkList *p,*q; int i=0; L=(LinkList *)malloc(sizeof(LinkList)); L->next=NULL; q=L; while(i<n) { p=(LinkList *)malloc(sizeof(LinkList)); p->data=a[i]; p->next=q->next; q->next=p; q=p; i++; } } void DispList(LinkList *L) { LinkList *p; p=L; p=p->next; while(p!=NULL) { printf("%d ",p->data); p=p->next; } printf("\n"); } void DestroyList(LinkList *&L) { LinkList *p,*q; p=L,q=p->next; while(q!=NULL) { free(p); p=q; q=q->next; } free(q); }
运行结果
知识总结
单链表的建立
头插法和尾插法
输出和摧毁
学习心得
链表画一画好像不是很难弄。。。。
相关文章推荐
- poj 3169 Layout(差分约束)
- Source Insight 3.x serial 序列号
- 获取文件内容
- 顺序表应用 2
- 第四周项目2-建立单链表的算法库
- DELL 755重置BIOS设置教程
- C++类与static
- Bootstrap的优先级、选择器、伪类
- 第三周【项目1 - 顺序表的基本运算】
- c#去除图像噪音
- linux-- input子系统分析
- C++ 拷贝文件
- 程序员技巧---调试
- LeetCode #169: Majority Element
- 第三周项目3
- 王朝
- PyQt QCombobox设置行高
- 【codeforces】Misha and Changing Handles(映射+并查集)
- 体验复杂度 2种排序方法的运行时间比较
- dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()的关联 (三)