30

C语言基础的动态链表的创建,插入,删除,更新,查询

#include<stdio.h>
#include<stdlib.h>
#define COUNT 2 
typedef struct Data
{
char num[20];
char name[20];
char sex[10];
char nation[10];
char time[20];
char job[15];
};

typedef struct Node
{
struct Data data;//结构体类型//结构体嵌套
struct Node* next;//结构体指针型
}node,*Pnode;

Pnode phead=NULL;
Pnode ptail=NULL;

//创建结点
Pnode creat_node()
{
int i=0;
Pnode pnew=NULL;
for(i=0;i<COUNT;i++)  //COUNT为节点数
{
pnew=(Pnode)malloc(sizeof(node));//创建一个新节点
printf("请输入第%d个人员的信息:\n",(i+1));
printf("工号:\n");
scanf("%s",pnew->data.num);
printf("姓名:\n");
scanf("%s",pnew->data.name);
printf("性别:\n");
scanf("\n%s",&pnew->data.sex);
printf("族别:\n");
scanf("%s",&pnew->data.nation);
printf("入职时间:\n");
scanf("%s",&pnew->data.time);
printf("职务:\n");
scanf("%s",&pnew->data.job);
if(ptail)
{
    ptail->next=pnew;//第一个以后的结点
    ptail=pnew;
}
else
{
   phead=ptail=pnew;//第一个节点
}
  pnew->next=NULL;
}
return phead;
}

int main(){
  struct Node * pt;
  pt=creat_node();
  printf("\n num:%s,name:%s,sex:%s,nation:%s,date:%s,job:%s\n",pt->data.num,pt->data.name,pt->data.sex,pt->data.nation,pt->data.time,pt->data.job);
  return 0;
}

如代码所示已经实现了creat创建动态链表保存信息,

求问:

编写函数:insert向链表插入节点,编写函数del删除链表指定节点,编写函数update更改指定节点数据,编写函数search搜索指定姓名职工,编写函数travel遍历所有职工信息。

查看全部
weixin_45802952
newgooooal
2020/11/30 12:21
  • c++
  • c语言
  • 点赞
  • 收藏
  • 回答
    私信
满意答案
查看全部

5个回复