- 论坛徽章:
- 0
|
恩,我也是这样一点一点想的,把每一步都分解开,但是就是连接不起来的感觉,有关函数学的不好。
代码在下面,能麻烦帮我看看么?太长了,细节您就不用看了我自己去找错,就是麻烦能不能帮我看看这里大体上的结构啊函数的用法上的错误。实在是摸不到头脑了…呵呵,先谢谢了~~
/* LinkList.cpp*/
/*线性表的单链表示:函数实现*/
#include <stdio.h>
#include <stdlib.h>
#include "LinkList.h"
#include<time.h>
/*创建一个带头结点的空链表*/
LinkList CreateNullList_link(void){
LinkList llist1=(Linklist)malloc(sizeof(struct Node));/*申请表头结点空间*/
PNode p;
if(llist1!=NULL) {
llist1->link=NULL;
p=llist1;
printf("The first linklist is:" ;}
else printf("Out of space!\n" ;/*创建失败*/
return llist1;
}
/*利用随机数器构造单链表llist1*/
int Create_list(LinkList llist1){
int n1,i;
srand((int)time(NULL))
n1=rand()%100+1;
for(i=1;i<=n1;i++)
{
x=rand()%100;
PNode q = (PNode)malloc( sizeof( struct Node ) ); /* 申请新结点 */
if( q == NULL ) {printf( "Out of space!!!\n" ); }
else { q->info = x; q->link = p->link; p->link = q; printf("%d ",q); }
}
printf("\n" ;
}
/*创建一个带头结点的空链表*/
LinkList CreateNullList_link(void){
LinkList llist2=(Linklist)malloc(sizeof(struct Node));/*申请表头结点空间*/
PNode s;
if(llist2!=NULL) {
llist2->link=NULL;
s=llist2;
printf("The second linklist is:" ;}
else printf("Out of space!\n" ;/*创建失败*/
return llist2;
}
/*利用随机数器构造单链表llist2*/
int create_list(LinkList llist2){
int n2,i;
srand((int)time(NULL))
n2=rand()%100+1;
for(i=1;i<=n2;i++)
{
x=rand()%100;
PNode t = (PNode)malloc( sizeof( struct Node ) ); /* 申请新结点 */
if( t == NULL ) {printf( "Out of space!!!\n" ); }
else { t->info = x; t->link = s->link; s->link = t; printf("%d ",t); }
}
printf("\n" ;
}
/*将两链表归并成一个链表*/
int add_list(LinkList llist1,LinkList llist2)
{
q->link=s;
}
/*链表的纯化*/
int delete_link(Linklist llist1,DataType x)
{
PNode h,r;
if(p==NULL) return(0);
p=p->link;
while(p->link!=NULL)
{
x=p->info;
h=p->link;
while(h->link!=NULL)
{
if(h->link->info!=x)
{
h=h->link;
}
else
{
r=h->link;
h->link=r->link;
free(r);
}
}
if(h->link-NULL)
{
p=p->link;
}
}
}
/*输出显示归并纯化后的链表*/
int Outlist_link(Linklist llist1)
{
while(p->link!=NULL)
{
printf("%d ",p->link->info;
p=p->link;
}
printf("%d ",p->link->info![](static/image/smiley/default/icon_wink.gif)
}
/*查找最大、最小元素*/
int chazhao_link(Linklist llist1)
{
DataType min,max;
min=p->link->info;
max=p->link->info;
while(p->link!=NULL)
{
p=p->link;
if(p->link->info<min)
{
min=p->link->info;
}
if(p-link->info>max)
{
max=p->link->info;
}
}
printf("The max number is:%d\n",max);
printf("The min number is:%d\n",min);
}
int main()
{
Linklist llist1,llist2;
CreateNullList_link(llist1);
Create_list(llist1);
CreateNullList_link(llist2)
Create_list(llist2);
add_list(llist1,llist2);
delete_link(llist1);
Outlist_link(llist1);
chazhao_link(llist1);
return 0;
}
|
|