c언어 단일연결리스트 노드 삭제 삽입
-
게시물 수정 , 삭제는 로그인 필요
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct link_list
{
char* name;
struct link_list* next;
};
typedef struct link_list node;
typedef node* link;
link createnode(char* name);
link append(link head,link cur);
int printlist(link head);
link deletenode(link head,int n);
link insertnode(link head,link cur,int n);
void main(void)
{
char name[30];
link head=NULL;
link cur;
printf("이름 입력\n");
gets(name);
while(!feof(stdin))
{
cur=createnode(name);
if(cur==NULL)
exit(1);
head=append(head,cur);
printlist(head);
gets(name);
}
}
link cretenode(char* name)
{
link cur;
cur=(node*)malloc(sizeof(node));
if(cur==NULL)
{
printf("실패");
return NULL;
}
cur->name=(char*)malloc(sizeof(char)*strlen(name)+1);
strcpy(cur->name,name);
cur->next;
return cur;
}
link append(link head,link cur)
{
link nextnode=head;
if(head==NULL)
{
head=cur;
return head;
}
while(nextnode->next!=NULL)
{
nextnode=nextnode->next;
}
nextnode->next=cur;
return head;
}
int prinlist(link head)
{
int cnt=0;
link nextnode=head;
while(nextnode!=NULL)
{
printf("%3d번째 노드는 %s\n",++cnt,nextnode->name);
nextnode=nextnode->next;
}
return cnt;
}
link deletenode(link head,int n);
link insertnode(link head,link cur,int n);
정수입력해서 n번째 노드삭제 , 삽입 하는 함수점 부탁드립니다. 잘돼지않아서 부탁드려요
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct link_list
{
char* name;
struct link_list* next;
};
typedef struct link_list node;
typedef node* link;
link createnode(char* name);
link append(link head,link cur);
int printlist(link head);
link deletenode(link head,int n);
link insertnode(link head,link cur,int n);
void main(void)
{
char name[30];
link head=NULL;
link cur;
printf("이름 입력\n");
gets(name);
while(!feof(stdin))
{
cur=createnode(name);
if(cur==NULL)
exit(1);
head=append(head,cur);
printlist(head);
gets(name);
}
}
link cretenode(char* name)
{
link cur;
cur=(node*)malloc(sizeof(node));
if(cur==NULL)
{
printf("실패");
return NULL;
}
cur->name=(char*)malloc(sizeof(char)*strlen(name)+1);
strcpy(cur->name,name);
cur->next;
return cur;
}
link append(link head,link cur)
{
link nextnode=head;
if(head==NULL)
{
head=cur;
return head;
}
while(nextnode->next!=NULL)
{
nextnode=nextnode->next;
}
nextnode->next=cur;
return head;
}
int prinlist(link head)
{
int cnt=0;
link nextnode=head;
while(nextnode!=NULL)
{
printf("%3d번째 노드는 %s\n",++cnt,nextnode->name);
nextnode=nextnode->next;
}
return cnt;
}
link deletenode(link head,int n);
link insertnode(link head,link cur,int n);
정수입력해서 n번째 노드삭제 , 삽입 하는 함수점 부탁드립니다. 잘돼지않아서 부탁드려요
#c언어 단일연결리스트