void sl_insert(int data)
{
node*new_node=(node*) malloc(sizeof(node)); //새로운 노드 생성
node* temp; // 임시 노드 잠시후 사용함 ~!
new_node-> 새로운
노드에 데이타를 대입
//처음일 경우
if(head->next==NULL)
{ //head 다음이 널 이라면
처음이다
head->next=new_node; //head가 new_node를 가르키게
하고
new_node->next=NULL;//new_node는 널을 가르키게 한다.
return; //함수를 빠져
나온다.
}
//처음이 아닐경우 아니라면
temp = head -> next; // temp를 head -> next로
초기화 (head로 초기화해도 상관 없지만 쓸데없는 짓~!)
while(temp->next!=NULL)//temp->next가
널일 때까지 옆 노드로 이동~
temp=temp->next;
temp->next=new_node;//이동후 삽입~!
new_node->next=NULL;//역시 마지막에 널을
넣어준다.
}
이소스에서
temp = head -> next; 를
temp = head; 로 하면 안되는 이유가.....
다 보여주지..
마이크로최적화는 죄악입니다