链表的使用例子

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

链表的使用例子---完整版

分享

首次分享者:忘不了的人已被分享7次评论(0)复制链接分享转载举报#include

#include

//**************以下为链表的节点定义**********************

typedef struct node *list_pointer;

typedef struct node{

int data;

struct node *link;

}list_node;

list_pointer init( );

void create( );

void display( );

void add( );

void delete( );

int main( ) {

list_pointer ptr = NULL;

ptr = init( );

create(ptr);

display(ptr);

add(ptr);

display(ptr);

delete(ptr);

display(ptr);

}

//***********************以下为链表的初始化********************* list_pointer init( )

{

list_pointer s;

s = (list_pointer) malloc (sizeof (list_node) );

printf("初始化链表\n");

if (s)

{

s->link = NULL;

return s;

}else

{ printf("空间不足");

return NULL;

}

}

//***********************以下为建表************************ void create(list_pointer ptr)

{

int i,n;

char tmp ;

list_pointer p;

printf ("请输入表的元素个数\n");

scanf ("%d", &n);

for (i = 0; i < n; i++)

{

printf("请输入第%d个元素\n",i+1);

fflush(stdin);

scanf("%d",&tmp);

p = (list_node *)malloc (sizeof (list_node) );

p->data = tmp;

p->link = (ptr)->link;

(ptr)->link = p;

}

}

//***********************展示元素*********************** void display (list_pointer ptr)

{

list_pointer pp;

pp = ptr->link;

printf("顺序表的结点分别是:\n");

while(pp) {

printf("%d\t",pp->data);

pp = pp->link;

}

}

//********************插入元素************************ void add(list_pointer ptr)

{

int n;

list_pointer p;

printf("请输入需要插入的结点:\n");

scanf("%d",&n);

p = (list_pointer) malloc (sizeof (list_node) );

p->data = n;

p->link = ptr->link;

ptr->link = p;

}

//*********************以下为删除元素******************* void delete(list_pointer ptr)

{

int i = 0,n;

list_pointer first,second;

do

{

printf("请输入要删除元素的位置:\n");

scanf("%d",&n);

}while(n < 0);

second = ptr;

while (i

{

i++;

second = second->link;

first = second ->link;

printf("this is OK\n");

}

if (i < n)

{

printf("表中不存在此元素\n"); }else

{

printf("this is Ok\n"); second->link = first->link; printf("this is OK\n");

free(first);

}

}

相关文档
最新文档