问题描述
- 谁能帮我画一下这个程序的流程图 ,谢谢
-
#include
#include //调用stdlib.h
struct Node //定义一个自定义struct结构,名字为node。struct为关键字,结构体的意思
{ int data;
struct Node next;.//定义一个指向Node这种结构体的指针
};
struct Node *head; //头指针
struct Node * CREAT();
void search();
void insert();
void DELETE();
int j;
void main()
{
int i;
printf("n t 此程序仅为线性表的链式存储开发 n");
for( ; ; )
{
printf("nt 请选择您要执行的操作序号!tn");
printf("tt1.建立线性表ntt2.查 找ntt3.插 入ntt4.删 除ntt5.退 出n");
scanf("%d",&i);
switch(i)
{
case 1:CREAT();break;
case 2:search();break;
case 3:insert();break;
case 4:DELETE();break;
case 5:exit(0);
}
}
}
struct Node *CREAT(void)
{
int i,m;
head=(struct Node *)malloc(sizeof(struct Node));
//从系统分配sizeof(struct Node)大小的内存空间,然后将起始地址转换成struct Node *指针类型传送给*head
if(head==NULL) /这个地方可有可无,因为失败的话执行不了下面的!*/
{
printf("错误!");
exit(0);
}
struct Node * s=head;
s->next=NULL;printf("请输入您要生成节点的个数!n");
scanf("%d",&j);
for(i=1;i<=j;i++)
{
printf("请输入第%d个元素:",i);
scanf("%d",&m);
struct Node *p=(struct Node *)malloc(sizeof(struct Node));
p->data=m;
p->next=NULL;
s->next=p;
s=p;
}
s=head;s=s->next;
printf("当前链表元素个数为%d个n",j);
printf("输出表:");
for(i=1;i<=j;i++)
{
printf("%dt",s->data);
s=s->next;
}return head;
getchar();getchar();
}
void search()
{
int k,i;
printf("请输入您要搜寻元素的位置!");
scanf("%d",&k);
struct Node *p=head;
for(i=0;i
p=p->next;
printf("您要搜索的值为%d",p->data);
getchar();getchar();
}
void insert()
{
int a,b,i;
printf("请输入您要插入元素的位置:");
scanf("%d",&a);
printf("请输入您要插入的元素:");
scanf("%d",&b);
struct Node *p=head;for(i=0;i
p=p->next;
struct Node *s=(struct Node *)malloc(sizeof(struct Node));
s->data=b;
s->next=p->next;
p->next=s;
p=head;p=p->next;
j=j+1;
printf("当前链表元素个数为%d个n",j);
printf("输出表:");
for(i=1;i<=j;i++)
{
printf("%dt",p->data);
p=p->next;
}
getchar();getchar();
}
void DELETE()
{
int a,i;
printf("请输入您要删除元素的位置:");
scanf("%d",&a);
struct Node *p=head;
struct Node *r;
for(i=1;ip=p->next;
r=p->next;
p->next=r->next;
free(r);
j=j-1;
p=head;
p=p->next;
printf("当前链表元素个数为%d个n",j);
printf("输出表:");
for(i=1;i<=j;i++)
{
printf("%dt",p->data);
p=p->next;
}
getchar();getchar();
}?
解决方案
直接用文字描述一下你的程序每一步做了什么,我给你画
解决方案二:
亲们,帮帮我啊。好心人在哪里?学霸在哪里?