面試寶典之單鏈表操作

2021-06-07 15:34:10 字數 897 閱讀 1740

下面的**,包含了面試寶典的

13.1章節,即單鏈表的**,所以以後要多寫**。

#include #include #include typedef struct student 

node;

node *create()

else

cycle = 0;

} p->next = null;

return head;

}node *print( node *head )

printf( "\n" ); }

int length( node *head )

return length;

}node * reverse( node * head )

return head;}

node * sort( node * head )

p = p->next; }}

return head;

}node *del( node *head, int num )

if( num == p1->data )

else

} else

printf( "oh ,can't find the num ...\n" );

}node *insert( node *head, int num )

if( p0->data <= p1->data )

else

}else

return head;

}void remove_head( node *head )

int find_middle( node *head )

return p1->data;

}int main()

單鏈表之基礎操作

ifndef linklist h define linklist h include include include typedef int datatype typedef struct listnode node,pnode,list,plist void initlinklist plist...

單鏈表操作之替換

在單鏈表結構中的替換也利用了遍歷模式。這種情況下,我們在鍊錶結構中搜尋乙個給定項或乙個給定位置,並且用新的項替換該項。第乙個操作,即替換乙個給定的項,並不需要假定目標項在鍊錶結構中。如果目標項不存在,那就不會發生替換,並且該操作返回false。如果目標項存在,新的項會替換它,並且該操作返回true。...

單鏈表操作之搜尋

鍊錶結構的順序搜尋和遍歷是類似的,因為也必須從第1個節點開始且沿著鍊錶直到遇到哨兵。下面例子可能會遇到兩個哨兵 coding utf 8 class node object def init self,data,next none self.data data self.next next head...