n
注意:下列作业请于9月12日周三下午上课前交
1、
链接存储方法
▲链接方式存储的线性表简称为链表(Linked List)。
▲链表的具体存储表示为:
① 用一组任意的存储单元来存放线性表的结点(这组存储单元既可以是连续的,也可以是不连续的)
② 链表中结点的逻辑次序和物理次序不一定相同。为了能正确表示结点间的逻辑关系, ▲在存储每个结点值的同时,还必须存储指示其后继结点的地址(或位置)信息(称为指针(pointer)或链(link))
▲ 注意:
链式存储是最常用的存储方式之一,它不仅可用来表示线性表,而且可用来表示各种非线性的数据结构。
7 C
/C++
完整代码实现
-------(
不带头结点
)
单链表上实现的基本运算
/********************************************************
Copyright (C)
FileName: S_LinkList.cpp
Author: Luqing Date:2006/4/11
Description: // The basic operations of S_LinkList (0-n)
Version: // v1.0
Function List: //Del_LinkList , Insert_LinkList
********************************************************/
Copyright (C)
FileName: S_LinkList.cpp
Author: Luqing Date:2006/4/11
Description: // The basic operations of S_LinkList (0-n)
Version: // v1.0
Function List: //Del_LinkList , Insert_LinkList
********************************************************/
#include <stdio.h>
#include <malloc.h>
typedef char ElemType;
typedef struct Node
{
ElemType data;
struct Node *next;
}LNode,*LinkList;
LinkList CreatListF()
{//
用头插法建立单链表
ElemType ch;
LinkList H=NULL; //
链表头指针开始为空
LNode *p; //
工作指针
ch=getchar(); //
读入第1
个字符
if(ch=='/n')
printf("
你已经退出了!!/n");
else{
while(ch!='/n'){
p=(LNode *)malloc(sizeof(LNode));//
生成新结点
p->data=ch; //
将读入的数据放入新结点的数据域中
p->next=H;
H=p;<