您的位置:首页 > 编程语言 > C语言/C++

修改后的单链表简单操作

2016-12-20 14:56 260 查看
修改后的单链表几个操作
#include <stdio.h>

struct node
{
int num;
struct node *next;
};

typedef struct node Node;
typedef struct node *Link;

creat_node(Link *head)
{
*head = NULL;
}

/*void insert_head_node(Link *newnode,Link *head)
{
(*newnode) -> next = *head;
*head = *newnode;
*/

/*void insert_tail_node(Link *newnode,Link *head)
{
Link temp = *head;
if(temp == NULL)
{
(*newnode) -> next = NULL;
temp = *newnode;
}

else
{
Link temp = *head;
while((temp -> next) != NULL)
{
temp -> next = temp;
}

temp -> next = *newnode;
(*newnode) -> next = NULL;
}
}
*/
int insert_mid_node(Link *newnode,Link *head,int num)
{

if(*head == NULL)
{
return -1;
}

Link temp = *head;
while(temp != NULL)
{
if(temp -> num = num)
{
(*newnode)->next = temp -> next;
temp -> next = *newnode;
return 0;
}

temp = temp -> next;
}

return 0;
}

int display_node(Link *head)
{

if(*head == NULL)
{
return -1;
}

else
{
Link temp = *head;
while(temp != NULL)
{
printf("%d\n",temp -> next);
temp = temp -> next;
}
}
}

int main()
{
int i = 0;
Link head;
Link newnode;

creat_node(&head);

for(i = 0; i < 10; i++)
{
newnode = (Link)malloc(sizeof(Node)) ;
newnode->num = i+1;
//	insert__head_node(&newnode,&head);
//    insert_tail_node(&newnode,&head);
}

newnode = (Link)malloc(sizeof(Node));
newnode -> num =11;
insert_mid_node(&newnode,&head,5);

display_node(&head);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  单链表 c语言