数据结构—链表应用能力测评

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

任务:

编写一个能向表尾插入结点,并输出链表中所有数据元素的小程序

#ifndef _LINKLIST

#define _LINKLIST

#include

using namespace std ;

struct node

{

int data ;

struct node *next ;

};

typedef struct node *PLIST;

typedef struct node NODE;

/*创建链表,并初始化链表元素*/

PLIST createList_link()

{

PLIST head ,tail ,temp;

int elem = -1;

head = new NODE; //初始化头结点

if( head == NULL)

{

cout<<"分配空间失败,链表创建失败"<

return NULL;

}

head->next = NULL;

tail = head ;

while(1)

{

cin >> elem ;

if(elem == 0 ) break ;

temp = new NODE ;

if(temp == NULL)

{

cout<<"分配空间失败,链表创建失败"<

break ;

}

temp->data = elem ;

temp->next = NULL ;

tail->next = temp ;

tail = temp;

}

return head ;

}

void printList_link(PLIST head )

{

/*在此处完成任务,输出head为表头的单链表数据元素*/

//begin

PLIST p =new NODE;

p=head->next;

while(p){

printf("%d ",p->data);

p=p->next;

}

//end

}

void insertDataTail(PLIST head , int insData )

{

/*在此处完成任务,在head为表头的单链表表尾插入数据元素insData*/ //begin

PLIST p;

p=head->next;

while(p->next!=NULL){

p=p->next;

}

PLIST q = new NODE; //初始化结点

p->next=q;

q->data=insData;

q->next=NULL;

//end

}

#endif

相关文档
最新文档