算法写
刚好这两天也在玩链表,想写个模板.给你一段代码吧
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedefintDataType;//数据类型,如果这里更改了类型,
//要注意更改链表输出函数中输出格式.
struct_Node
{
DataTypedata;
struct_Node*next;
}Node;
typedefstruct_Nodelist_single;
list_single*Node_Create(DataTypedata)//新建结点
{
list_single*p=NULL;
p=(list_single*)malloc(sizeof(list_single));
if(p==NULL)
{
printf("mallocfair! ");
exit(1);
}
p->data=data;
p->next=NULL;
//printf("data=%d ",p->data);
returnp;
}
voidPush_Back(list_single*head,DataTypedata)//表尾添加
{
list_single*p=NULL;
if(head==NULL)
{
head=Node_Create(data);
p=head;
}
else
{
p=head;
while(p->next)
{
p=p->next;
}
}
p->next=Node_Create(data);
}
voidList_Print(list_single*head)//打印链表
{
list_single*p=head;
printf("Head");
while(p->next)
{
p=p->next;
//printf("%3c",p->data);
printf("->%d",p->data);//注意保持这个输出格式与DataType一致
}
printf(" ");
}
intList_Count(list_single*head)//表长
{
intk=0;
list_single*p=head;
while(p->next)
{
p=p->next;
k++;
}
returnk;
}
list_single*List_Create(void)//建表
{
intx;
list_single*head=NULL;
list_single*p=NULL;
head=Node_Create(NULL);//建头结点
p=head;
if(p==NULL)
{
printf("mallocfair! ");
exit(1);
}
printf("输入一个数x ");//追加结点
scanf("%d",&x);
while(x!=-1)
{
Push_Back(p,x);//追加结点到表尾,或者只用下面两句代码,效果一样
//p->next=Node_Create(x);
//p=p->next;
scanf("%d",&x);
}
returnhead;//返回表头
}
intmain()
{
list_single*p;
p=List_Create();//建表
List_Print(p);//输出
printf("Size:%d ",List_Count(p));//输出表长
return0;
}
⑵ 简便算法写过程
⑶ 大家帮帮忙啊!算出来,吧算法写一下啊!
第一步:21÷3=7算出一个戴博士帽的小熊等于7。第二步:19-7÷2=6算出一辆载着没带博士帽小熊的车等于6.第三步:15-6-7=2算出一个博士帽等于2.最后一步很关键,坑在最后一步,第一个小熊没带博士帽也就是7-2=5,两个博士帽2+2=4,最后一辆车里没有小熊用6-5=1.最后答案是5+4×1=9.完美收官
⑷ 递推控制算法怎么写
递推控制算法写如下
递推控制算法的首要问题是得到相邻的数据项间的关系(即递推关系)。递推算法避开了求通项公式的麻烦,把一个复杂的问题的求解,分解成了连续的若干步简单运算。一般说来,可以将递推算法看成是一种特殊的迭代算法。
⑸ 请问这是用哪种算法写出来的
用的是递归算法。
在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。递归式方法可以被用于解决很多的计算机科学问题,因此它是计算机科学中十分重要的一个概念。
⑹ 算法编写方法
C语言程序也是算法的一种形式,以后老师让你写算法的时候你就写程序吧,他会给你满分的。
算法是一种简化的、抽象的程序,是通俗语言加上一些逻辑格式对程序过程的描述,它不是程序,但是所有的程序员都能把它翻译为自己会的那种程序。
⑺ 怎样才能把算法写好啊
看透《数据结构》,多写程序
⑻ 算法写一下,急
一、算法分析的基本方法
二、算法设计的基本策略
⑼ 如何用语句和算法写程序
算法步骤:第一步,要确定表示和的变量s和计数变量i,并赋值,一般情况下,赋s=0 i=0;第二步,确定使用哪种循环结构,本题使用当型循环结构,确定判断条件i≤9 满足条件时,执行第三步,不满足条件时,执行第四步;第三步:执行,i=i+1;第四步:输出s;程序结束.程序如下:S=0i=0WHILE i<=9 S=S+1/2^i i=i+1ENDPRINT SEND运行该程序,输出:S=1.9980. 解析 分 析: 算法分析: 第一步 选择一个变量S表示和,并赋给初值0 再选取一个循环变量i,并赋值为0;第二步 开始进入WHILE循环语句,首先判断i是否小于9;第三步 为循环表达式(循环体) 用WEND来控制循环;第四步 用END来结束程序. 根据算法语句编写相应的程序语言,见参考答案.试题 解析: 算法步骤:第一步,要确定表示和的变量s和计数变量i,并赋值,一般情况下,赋s=0 i=0;第二步,确定使用哪种循环结构,本题使用当型循环结构,确定判断条件i≤9 满足条件时,执行第三步,不满足条件时,执行第四步;第三步:执行,i=i+1;第四步:输出s;程序结束.可写出程序如下:S=0i=0WHILE i<=9 S=S+1/2^i i=i+1ENDPRINT SEND运行该程序,输出:S=1.9980. (12分) 考点: 程序语言.
⑽ 算法的三种基本结构是
算法有顺序结构、条件分支结构、循环结构三种基本逻辑结构。
1、顺序结构:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的。
它是任何一个算法都离不开的一种基本算法结构。顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤。
2、条件结构:
条件结构是指在算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构。
条件P是否成立而选择执行A框或B框。无论P条件是否成立,只能执行A框或B框之一,不可能同时执行A框和B框,也不可能A框、B框都不执行。一个判断结构可以有多个判断框。
3、循环结构
在一些算法中,经常会出现从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构,反复执行的处理步骤为循环体,显然,循环结构中一定包含条件结构。循环结构又称重复结构,循环结构可细分为两类:
一类是当型循环结构,如下左图所示,它的功能是当给定的条件P成立时,执行A框,A框执行完毕后,再判断条件P是否成立,如果仍然成立,再执行A框,如此反复执行A框,直到某一次条件P不成立为止,此时不再执行A框,离开循环结构。
另一类是直到型循环结构,如下右图所示,它的功能是先执行,然后判断给定的条件P是否成立,如果P仍然不成立,则继续执行A框,直到某一次给定的条件P成立为止,此时不再执行A框,离开循环结构。
(10)算法写扩展阅读
共同特点
(1)只有一个入口和出口
(2)结构内的每一部分都有机会被执行到,也就是说对每一个框来说都应当有一条从入口到出口的路径通过它,如图中的A,没有一条从入口到出口的路径通过它,就是不符合要求的算法结构。
(3)结构内不存在死循环,即无终止的循环。