社区
C语言
帖子详情
能不能给个典型的例子?
slient_1985
2005-04-18 12:17:53
如题,是关于c语言实现链表的例子,急!
...全文
94
10
打赏
收藏
能不能给个典型的例子?
如题,是关于c语言实现链表的例子,急!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
slient_1985
2005-04-18
打赏
举报
回复
思想是有的,可是就是在实现的时候有问题,因为下午要上机,以前的c语言没有怎么实践,所以找例子也不知道哪种是典型的。
帮帮忙阿~~~`
v41dugu
2005-04-18
打赏
举报
回复
基本的思想要自己去体会,然后自然就有自己的想法了,你自己就会了
v41dugu
2005-04-18
打赏
举报
回复
看书嘛
slient_1985
2005-04-18
打赏
举报
回复
在等待中
answerooo
2005-04-18
打赏
举报
回复
是不是最基本的链表操作啊
还是自己做的好
Q19830409
2005-04-18
打赏
举报
回复
我也不知道你想知道连表的啥?是查找,插入还是删除操作,是合并,还是最基本的创建
Q19830409
2005-04-18
打赏
举报
回复
晕自己一搜那么多还这样问啊晕
kobefly
2005-04-18
打赏
举报
回复
题目:创建一个链表。
1.程序分析:
2.程序源代码:
/*creat a list*/
#include "stdlib.h"
#include "stdio.h"
struct list
{
int data;
struct list *next;
};
typedef struct list node;
typedef node *link;
void main()
{
link ptr,head;
int num,i;
ptr=(link)malloc(sizeof(node));
ptr=head;
printf("please input 5 numbers==>\n");
for(i=0;i<=4;i++)
{
scanf("%d",&num);
ptr->data=num;
ptr->next=(link)malloc(sizeof(node));
if(i==4) ptr->next=NULL;
else ptr=ptr->next;
}
ptr=head;
while(ptr!=NULL)
{
printf("The value is ==>%d\n",ptr->data);
tr=ptr->next;
}
}
【程序73】
题目:反向输出一个链表。
1.程序分析:
2.程序源代码:
/*reverse output a list*/
#include "stdlib.h"
#include "stdio.h"
struct list
{
int data;
struct list *next;
};
typedef struct list node;
typedef node *link;
void main()
{
link ptr,head,tail;
int num,i;
tail=(link)malloc(sizeof(node));
tail->next=NULL;
ptr=tail;
printf("\nplease input 5 data==>\n");
for(i=0;i<=4;i++)
{
scanf("%d",&num);
ptr->data=num;
head=(link)malloc(sizeof(node));
head->next=ptr;
ptr=head;
}
ptr=ptr->next;
while(ptr!=NULL)
{ printf("The value is ==>%d\n",ptr->data);
ptr=ptr->next;
}
}
【程序74】
题目:连接两个链表。
1.程序分析:
2.程序源代码:
#include "stdlib.h"
#include "stdio.h"
struct list
{
int data;
struct list *next;
};
typedef struct list node;
typedef node *link;
link delete_node(link pointer,link tmp)
{
if (tmp==NULL) /*delete first node*/
return pointer->next;
else
{
if(tmp->next->next==NULL)/*delete last node*/
tmp->next=NULL;
else /*delete the other node*/
tmp->next=tmp->next->next;
return pointer;
}
}
void selection_sort(link pointer,int num)
{
link tmp,btmp;
int i,min;
for(i=0;i<num;i++)
{
tmp=pointer;
min=tmp->data;
btmp=NULL;
while(tmp->next)
{
if(min>tmp->next->data)
{
min=tmp->next->data;
btmp=tmp;
}
tmp=tmp->next;
}
printf("\40: %d\n",min);
pointer=delete_node(pointer,btmp);
}
}
link create_list(int array[],int num)
{
link tmp1,tmp2,pointer;
int i;
pointer=(link)malloc(sizeof(node));
pointer->data=array[0];
tmp1=pointer;
for(i=1;i<num;i++)
{
tmp2=(link)malloc(sizeof(node));
tmp2->next=NULL;
tmp2->data=array[i];
tmp1->next=tmp2;
tmp1=tmp1->next;
}
return pointer;
}
link concatenate(link pointer1,link pointer2)
{
link tmp;
tmp=pointer1;
while(tmp->next)
tmp=tmp->next;
tmp->next=pointer2;
return pointer1;
}
void main(void)
{
int arr1[]={3,12,8,9,11};
link ptr;
ptr=create_list(arr1,5);
selection_sort(ptr,5);
}
kobefly
2005-04-18
打赏
举报
回复
题目:创建一个链表。
1.程序分析:
2.程序源代码:
/*creat a list*/
#include "stdlib.h"
#include "stdio.h"
struct list
{
int data;
struct list *next;
};
typedef struct list node;
typedef node *link;
void main()
{
link ptr,head;
int num,i;
ptr=(link)malloc(sizeof(node));
ptr=head;
printf("please input 5 numbers==>\n");
for(i=0;i<=4;i++)
{
scanf("%d",&num);
ptr->data=num;
ptr->next=(link)malloc(sizeof(node));
if(i==4) ptr->next=NULL;
else ptr=ptr->next;
}
ptr=head;
while(ptr!=NULL)
{
printf("The value is ==>%d\n",ptr->data);
tr=ptr->next;
}
}
【程序73】
题目:反向输出一个链表。
1.程序分析:
2.程序源代码:
/*reverse output a list*/
#include "stdlib.h"
#include "stdio.h"
struct list
{
int data;
struct list *next;
};
typedef struct list node;
typedef node *link;
void main()
{
link ptr,head,tail;
int num,i;
tail=(link)malloc(sizeof(node));
tail->next=NULL;
ptr=tail;
printf("\nplease input 5 data==>\n");
for(i=0;i<=4;i++)
{
scanf("%d",&num);
ptr->data=num;
head=(link)malloc(sizeof(node));
head->next=ptr;
ptr=head;
}
ptr=ptr->next;
while(ptr!=NULL)
{ printf("The value is ==>%d\n",ptr->data);
ptr=ptr->next;
}
}
【程序74】
题目:连接两个链表。
1.程序分析:
2.程序源代码:
#include "stdlib.h"
#include "stdio.h"
struct list
{
int data;
struct list *next;
};
typedef struct list node;
typedef node *link;
link delete_node(link pointer,link tmp)
{
if (tmp==NULL) /*delete first node*/
return pointer->next;
else
{
if(tmp->next->next==NULL)/*delete last node*/
tmp->next=NULL;
else /*delete the other node*/
tmp->next=tmp->next->next;
return pointer;
}
}
void selection_sort(link pointer,int num)
{
link tmp,btmp;
int i,min;
for(i=0;i<num;i++)
{
tmp=pointer;
min=tmp->data;
btmp=NULL;
while(tmp->next)
{
if(min>tmp->next->data)
{
min=tmp->next->data;
btmp=tmp;
}
tmp=tmp->next;
}
printf("\40: %d\n",min);
pointer=delete_node(pointer,btmp);
}
}
link create_list(int array[],int num)
{
link tmp1,tmp2,pointer;
int i;
pointer=(link)malloc(sizeof(node));
pointer->data=array[0];
tmp1=pointer;
for(i=1;i<num;i++)
{
tmp2=(link)malloc(sizeof(node));
tmp2->next=NULL;
tmp2->data=array[i];
tmp1->next=tmp2;
tmp1=tmp1->next;
}
return pointer;
}
link concatenate(link pointer1,link pointer2)
{
link tmp;
tmp=pointer1;
while(tmp->next)
tmp=tmp->next;
tmp->next=pointer2;
return pointer1;
}
void main(void)
{
int arr1[]={3,12,8,9,11};
link ptr;
ptr=create_list(arr1,5);
selection_sort(ptr,5);
}
c_nestor
2005-04-18
打赏
举报
回复
s s随便搜索都有一大堆吧
C语言基础 — 关键字volatile有什么含意? 三个不同的
例子
。
并给出三个不同的
例子
。关键字volatile有什么含意? 并给出三个不同的
例子
。 关键字volatile有什么含意? 并给出三个不同的
例子
。 一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去...
堆栈队列实例
还有什么堆栈的
典型
例子
? 夏天逛超市时,你可能会忍不住想喝一瓶冰饮料降降温。 可是,困扰你的是:放冰箱外头的饮料往往并不冰,而冰箱深处你够不着的地方,才是你想要的。 想想看:冰箱中的饮料应该组织成...
到底什么是幸存者偏差?有哪些
例子
?
你看到的可能是假的
大数据应用的几个
典型
例子
举个直观的
例子
来说明一下互联网的数据量:假设大西洋里每一升海水代表一个字节的数据,那么整个大西洋存储的数据也只能到2010年就满了。 从外行的角度看来大数据是个挺了不起的东西,它也确实了不起,不过有一个...
分层结构的生活
例子
_系统抽样和分层抽样在现实生活中有什么
例子
?
因此,研究者先把该市的社区护士总体分为三个大类,即有中专学历的、有大专学历以及有本科学历的社区护士。 然后研究者采用简单随机抽样或系统抽样的方法,分别从这三类社区护士中抽取三个子样本,最后,将这三个子...
C语言
69,379
社区成员
243,075
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章