C 언어로 체인 테이블의 결점 삭제

4098 단어 기타
1. 지정된 결점과 같은 첫 번째 결점 테스트 용례 삭제 Input: 1 2 3 4 5 2 Output: 1 3 2 4 5 2 break로 순환 종료
struct node *DeleteNode(struct node *L, int e)
{    
    struct node *p=L->next,*q=L;
    if (L==NULL)          
    { 
        printf("    
"
); return L; } while(p!=NULL) { if(p->data==e) { q->next=p->next; free(p); p=q->next; break;// break } else { p=p->next; q=q->next; } } return L; }

브레이크 안 써도 돼요.
struct node *DeleteNode(struct node *L, int e)
{    
    struct node *p=L->next, *q = head;
    if (L==NULL)          
    {
        printf("    
"
); return L; } while(e!=p->data&&p!=NULL) { q=p; p=p->next; } if (e==p->data) { q->next=p->next; free(p); } else printf("
"
); return L; }

2. 지정된 결점과 동일한 모든 결점 테스트 용례 삭제 Input: 1 2 3 2 4 5 2 Output: 1 3 4 5
struct node *DeleteNode(struct node *L, int e)
{    
    struct node *p=L->next,*q=L;
    if (L==NULL)          
    { 
        printf("    
"
); return L; } while(p!=0) { if(p->data==e) { q->next=p->next; free(p); p=q->next; } else { p=p->next; q=q->next; } } return L; }

좋은 웹페이지 즐겨찾기