이런방식이 단일 연결리스트 맞죵?!
Elfin
질문 제목 : 질문 내용 :
일단 코드는 이래요. 아직 하는 중이라서....
#includestdio.h
#includestring.h
#includestdlib.h
#includeconio.h
typedef struct info{
char name[20];
char address[20];
int age;
struct info *pnext;
}info;
//typedef struct information info;
info head={0};
int input(int size);
void printdata();
void searchinfo();
void insertdata(info *head);
int main(){
int size=0,choose=0;
for(;;){
printf_s(------------\n);
printf_s(1.입력ok\n);
printf_s(2.추가ok\n);
printf_s(3.삭제\n);
printf_s(4.검색ok\n);
printf_s(5.출력ok\n);
printf_s(6.file로 만들기\n);
printf_s(7.종료\n);
printf_s(------------\n);
scanf_s(%d,&choose,sizeof(int));
switch(choose){
case 1: printf_s(몇 명의 정보를 입력하시겠습니까?\n); scanf_s(%d,&size,sizeof(int));
input(size); break;
case 2:insertdata(head.pnext);break;
case 3:
case 4:searchinfo();break;
case 5:printdata(); break;
case 6:
;
}
if(choose==7) break;
}
return 0;
}
int input(int size){
int i=0;
info *input=null;//memset(input ,0, sizeof(info)*size);
printf_s(%d의 정보를 입력받겠습니다.\n,size);
for(i=0; isize; i++)
{input=(info*)malloc(sizeof(info));
printf_s(%d의 이름 전화번호, 나이를 입력해주십시오\n,i+1);
scanf_s(%s %s %d,input-name,20,input-address,20,&(input-age),sizeof(int));
input-pnext=null;
input-pnext=head.pnext;
head.pnext=input;
}
return 1;
}
void printdata(){
int i=0;
info *ptr=head.pnext;
while(ptr!=null){
printf(\n주소:%p\n%d의 이름:%s\t전화번호:%s\t나이:%d\t%p\n,ptr,i+1,ptr-name,ptr-address,ptr-age,ptr-pnext);
ptr=ptr-pnext;
}
getch();
}
void searchinfo(){
char szname[10];
int result=0;
info *search=head.pnext;
printf_s(이름으로 검색을 시도합니다\n);
scanf_s(%s,szname,10);
while(search!=null){
if(strcmp(search-name,szname)==0)
{result=1;
printf(찾는 사람 정보가 존재합니다.\n);
printf(\n주소:%p\t이름:%s\t전화번호:%s\t나이:%d\t%p\n,search,search-name,search-address,search-age,search-pnext);
break;
}
else search=search-pnext;
}
if(result==0) printf(찾는 사람의 정보가 없습니다.\n);
}
void insertdata(info *head){
info *insert=head-pnext;
printf_s(삽입할 대상의 정보를 입력해주십시오(이름,주소,나이)\n);
insert=(info*)malloc(sizeof(info));
scanf_s(%s %s %d,insert-name,20,insert-address,20,&(insert-age),sizeof(int));
insert-pnext=null;
insert-pnext=head-pnext;
head-pnext=insert;
}
일단 이런데 이렇게 연결리스트쓴느거 맞죵?? 공부해서 저번에 실패했던거 다시짜는중이긴한데;;;
-
진나
오 해결햇네요.낼 삭제하면 끝나네용ㅋㅋㅋㅋ나머진다햇어용
-
이하얀
단일 연결 리스트의 정의를 물어보시는건가요?
아니면 단일 연결 리스트를 구현했는데, 제대로 구현했는지를 물어보시는건가요?
각 Node에 링크되는 포인터가 하나가 있는게 단일 연결 리스트입니다.
하나만(pnext) 사용하신거니, 단일 연결 리스트겠죠? ^^ -
안토니
저도그래요...ㅋㅋㅋㅋ
-
들햇님
스택이랑 큐일꺼에요... 그치만ㅋㅋㅋ 아직그런부분은 잘모르고....ㅇ흠...이게 단일연결리스트가 맞는지궁금하네요.일단 삭제빼고 다 구현을햇긴햇는데...
-
진나
스택형식으로 출력이되긴해둥..목표가 일단 단일연결리스트거든용. 이거맞나욘?
-
소율
이게 맞는다면;; 이제 삭제만 남았는데;;흠