티스토리 뷰
TIL(Today I Learn)/C++
lst함수들에 대해서(lstnew, lstadd_front, lstadd_back, lst_size)
MinsoftK 2021. 1. 17. 05:18틀린 내용이 있다면 댓글로 알려주세요! 감사합니다 :)
💡 lstnew 에 대하여
struct s_list
{
void *content;
struct s_list *next;
} t_list;
// t_list란 s_list의 구조체이다.
Prototype
t_list *ft_lstnew(void *content);
content
: s_list의 content 포인터
Return Value
- 새로 만든 list의 포인터를 반환한다.
lstnew 함수의 구현
t_list *ft_lstnew(void *content)
{
t_list *result;
result = (t_list *)malloc(sizeof(t_list));
if (result)
{
result->content = content;
result->next = NULL;
}
return (result);
}
💡 lst_add_front에 대하여
Prototype
void ft_lstadd_front(t_list **lst, t_list *new)
list
: list들의 포인터new
: 앞에 연결할 구조체의 주소
Return Value
- 없다
lst_add_front 함수의 구현
void ft_lstadd_front(t_list **lst, t_list *new)
{
if (!new || !lst)
return ;
if (*lst)
new->next = *lst;
else
new->next = NULL;
*lst = new;
}
💡lst_add_back 에 대하여
환경
Prototype
void ft_lstadd_back(t_list **lst, t_list *new);
list
: list들의 포인터new
: 앞에 연결할 구조체의 주소
Return Value
- 없음
lst_add_back 함수의 구현
void ft_lstadd_back(t_list **lst, t_list *new)
{
t_list *begin;
if (*lst == NULL)
{
*lst = new;
return ;
}
begin = *lst;
while (begin->next)
begin = begin->next;
begin->next = new;
}
💡 lst_size 에 대하여
환경
Prototype
int ft_lstsize(t_list *lst);
n
: 출력할 정수.fd
: 쓰여질 파일디스크립터.
Return Value
- lst의 size를 return한다.
lst_size함수의 구현
#include <stdlib.h> //malloc을 쓰기위한 헤더
int ft_lstsize(t_list *lst)
{
int i;
t_list *temp;
i = 0;
temp = lst;
if (!lst)
return (0);
while (temp->next)
{
i++;
temp = temp->next;
}
if (temp->next == NULL)
i++;
return (i);
}
728x90
반응형
'TIL(Today I Learn) > C++' 카테고리의 다른 글
vector를 쓰는 이유(2021.03.29 업데이트) (0) | 2021.02.18 |
---|---|
open, close, read 함수에 대하여 (0) | 2021.01.27 |
fd 출력함수들에 대해서 (putchar, putstr, putendl, putnbr) (0) | 2021.01.14 |
atoi 함수 구현(2021.03.03 업데이트) (0) | 2021.01.07 |
is함수들 구현 (isalpha, isdigit, isascii, isalnum, isspace) (0) | 2021.01.07 |
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- C언어문제
- git vi
- vscode
- JS
- 프로그래머스 자바
- flexbox
- 프로그래머스 코테
- 백준
- windows 10 ubuntu
- 42서울
- Git
- 42서울 합격
- C언어 문제
- 42서울 라피신
- 42서울 합격 후기
- 프로그래머스 카카오
- 42seoul
- React
- C언어
- c언어알고리즘
- JavaScript
- 자바스크립트
- c언어 함수
- 프로그래머스 코딩테스트
- vscode commit vi
- HEXO
- css
- 알고리즘
- 마크다운 이미지 업로드
- html
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함