69,368
社区成员
发帖
与我相关
我的任务
分享
void InsertLink(Lnode **Link, Elemtype *elem)
{
Lnode *temp, *node=*Link;
if(!node) //If it is an empty link, set elem as the head
{
node=(Lnode *)malloc(NODESIZE);
node->next=NULL;
memcpy(&(node->data),elem,ELEMSIZE);
*Link=node;
}
else
{
while(node)
{
temp=node; //保存node不为空时的值,避免连接中断;
node=node->next;
}
node=(Lnode *)malloc(NODESIZE);
temp->next=node; //把环连上
node->next=NULL;
memcpy(&(node->data),elem,ELEMSIZE);
}
// *Link=node;
}
void InsertLink(Lnode **Link, Elemtype *elem)
{
Lnode *node=*Link;
//Lnode *head=NULL;
if(!node) //If it is an empty link, set elem as the head
{
node=(Lnode *)malloc(NODESIZE);
node->next=NULL;
memcpy(&(node->data),elem,ELEMSIZE);
*Link=node;
}
else
{
while(node->next)
{
node=node->next;
}
Lnode* p = (Lnode *)malloc(NODESIZE);
p->next = NULL;
memcpy(&(p->data),elem,ELEMSIZE);
node->next = p;
}
}
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
typedef struct ELemtype
{
short num;
int id;
} Elemtype;
typedef struct LNode
{
Elemtype data;
struct LNode *next;
} Lnode;
#define ELEMSIZE sizeof(Elemtype)
#define NODESIZE sizeof(Lnode)
#define LINKSIZE 100
void main()
{
Lnode *node=(Lnode *)malloc(NODESIZE);
node->data.num=10;
node->data.id=100;
node->next=NULL;
Elemtype *elem = (Elemtype*) malloc(ELEMSIZE);
memcpy(elem,&(node->data),ELEMSIZE);
cout<<elem->num<<endl;
delete node;
delete elem;
}
while(node)
{
node=node->next;
}
node=(Lnode *)malloc(NODESIZE);
node->next=NULL;