#include "list.h"
#include <stdio.h>
List *head, *tail;
main(){
List *find;
init_list();// 자료구조 초기화
insert_list(3);
insert_list(7);
print_list();
delete_list();
print_list();
find=find_list(3);
if(find !=NULL)
puts("찾음");
else
puts("못찾음");
ordered_list(1);
print_list();
}
------------------------------------------------------------------------------------
#include "list.h"
#include <stdio.h>
List *head,*tail;
void init_list(void){
head=(List *)malloc(sizeof(List));
tail=(List *)malloc(sizeof(List));
head->next=tail;
tail->next=tail;
}
void insert_list(int key){
List *nww;
nww=(List *)malloc(sizeof(List));
nww->key=key;
nww->next=head->next;
head->next=nww;
}
void print_list(void){
List *view;
view=head->next;
while(view!=tail){
printf("%d ",view->key);
view=view->next;
}
puts("");
}
void delete_list(void){
List *kill;
kill=head->next;
head->next=kill->next;
free(kill);
}
// 찾은 노드의 주소를 리턴하는 find_list 함수
// 못찾을 경우 NULL을 리턴
List* find_list(int n){
List *find=head->next;
while(find!=tail){
if(find->key==n)
return find;
else find=find->next;
}
if(find==tail)
return NULL;
}
List *ordered_list(int k){
List *p;
List *s;
List *in;
p=head;
s=p->next;
while(s->key<=k && s!=tail){
p=p->next;
s=s->next;
}
in=(List *)malloc(sizeof(List));
in->key=k;
in->next=s;
p->next=in;
}
-------------------------------------------------------------------
struct _list{
int key;
struct _list *next;
};
typedef struct _list List;
extern void init_list(void);
extern List *head,*tail;
extern void insert_list(int key);
extern void print_list(void);
extern void delete_list(void);
extern List* find_list(int n);
extern List *ordered_list(int k);
'Program Language > 자료구조' 카테고리의 다른 글
링크드리스트 (0) | 2016.10.11 |
---|