❶ c语言递归算法,主函数main能自调吗
如果想递归调用main函数需要在命令行调用,所以你还是另外写个函数然后在main函数里调用这个函数吧
❷ 有一道线性表头部插入的算法,有几个地方不明白,算法如下,根据这个算法谁能帮我写main函数的完整程序
z=1可以不写在在if(x!=-1)前,只有当输入数为-1时,z的值才会变化,等于0,循环停止,链表建立完成。
main函数:
int main(void)
{
linknode *head,*p;
head=createlinklist();// 建立链表
p=head;
while(p)
{
printf("%d\n",p->data);//链表以插入表头的方式不断插入,循环输出时是倒序输出的
p=p->next;
delete head;// 记得释放内存,以免造成内存泄露
head=p;
}
getchar();
getchar();
return 0;
}
❸ 算法的时间复杂度main(){ int i,n=153,s=0;while(n>0){s+=n%10;n=n/10;}}
不知道你说的“具体”的意思。不过这已很具体了,顶多再在最后一个}前加一条输出语句cout << s << endl;,看看结果与你心算的是否一样。
main(){
int i,n=153,s=0;
while(n>0){
s+=n%10;
n=n/10;
}
cout << s << endl;//加上这一句,输出应该是9吧!
}
❹ matlab编程时为什么结果总是main
贴一下具体程序吧,给你看一下。
是用了蚁群算法来做优化还是什么?结果是main表示没有理解。
❺ os与c语言main函数的关系
os与c语言main函数的关系
c语言程序由头文件main函数、子函数和结构体组成的。
1、头文件:头文件包含程序中
要调用的库函数,程序中调用了某个库函数,程序开始时必须写上“#in
clude<头文件名>或#include"头文件
名"。
2、main函数:程序的主体部分,实现算法的主干
3、子函数:main函数中用到的方法,为避免main函数过长引起错误,会把算法的某个过程摘出来用子函数实现。子函数在main函数中调用,在main函数外定义。
❻ 数据结构中有哪些基本算法
数据结构中最基本的算法有:查找、排序、快速排序,堆排序,归并排序,,二分搜索算法
等等。
1、用的最多也是最简单的数据结构是线性表。
2、有前途的又难数据结构是图 。
3、常用的80%算法是排序和查找。
❼ 数据结构怎么上机操作啊书上有很多算法,可是每个程序都要经过main函数。
1.学会算法的原理。
2.学会算法的实现。
这两者看似简单,实际上很麻烦。
你的问题在于:
1.有可能是C++基础不好,你去学习如何调用函数。
2.不知道这个算法需要什么输入,也就是你还没有做到从表面上理解这个算法,实际上一般需要深层理解。
我认为:
1.算法不是一个简单的函数这么简单,你应该还在入门阶段,这时候应当将书上的代码看懂,然后写出去(照抄)实现,逐步在调试的过程中了解编译器的特点,还有算法本身的特点。
2.做些书后简单的练习,会有助于你理解算法。
❽ 数据结构有哪些基本算法
数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。
可以理解为:程序设计 = 数据结构 + 算法
数据结构算法具有五个基本特征:输入、输出、有穷性、确定性和可行性。
1、输入:一个算法具有零个或者多个输出。以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件。后面一句话翻译过来就是,如果一个算法本身给出了初始条件,那么可以没有输出。比如,打印一句话:NSLog(@"你最牛逼!");
2、输出:算法至少有一个输出。也就是说,算法一定要有输出。输出的形式可以是打印,也可以使返回一个值或者多个值等。也可以是显示某些提示。
3、有穷性:算法的执行步骤是有限的,算法的执行时间也是有限的。
4、确定性:算法的每个步骤都有确定的含义,不会出现二义性。
5、可行性:算法是可用的,也就是能够解决当前问题。
数据结果的基本算法有:
1、图搜索(广度优先、深度优先)深度优先特别重要
2、排序
3、动态规划
4、匹配算法和网络流算法
5、正则表达式和字符串匹配
6、三路划分-快速排序
7、合并排序(更具扩展性,复杂度类似快速排序)
8、DF/BF 搜索 (要知道使用场景)
9、Prim / Kruskal (最小生成树)
10、Dijkstra (最短路径算法)
11、选择算法
❾ 拥有顺序表头文件,怎么写main实现头文件里面这些算法
看你程序复杂程度了
小程序就一个源文件就够了
大程序分开写会清晰点
头文件定义一些常量、函数、对象
资源文件这个名词我不太熟,不过能猜的出是 头文件里定义的函数算法
源文件运行
❿ 有一道线性表的求表长的算法,有几个地方不明白,算法如下,根据这个算法谁能帮我写main函数的完整程序
算法的思路大致就是通过参数传入一个链表,p等于表头,然后对p进行判断,如果为空,说明为空表,返回0;如果不空,长度置为1,然后一直对后继节点进行判断,有效就对长度加1,直到为空,则最终得到表长;
#include <stdio.h>
#include <stdlib.h>
typedef struct linklist{
int data;
struct linklist *next;
}linklist;
linklist *create()
{
linklist *head,*p,*q;
int i=0;
int x;
head=(linklist *)malloc(sizeof(linklist));
while(1)
{
printf("please input the node:");
scanf("%d",&x);
if(x==0) {break;}
p=(linklist *)malloc(sizeof(linklist));
p->data=x;
if(++i==1)
{
head=p;
}
else
{
q->next=p;
}
q=p;
}
q->next=NULL;
return head;
}
int length(linklist *head)
{
int len=0;
linklist *p;
p=head;
if(p==NULL)
return 0;
len=1;
while(p->next)
{
len++;
p=p->next;
}
return len;
}
int main()
{
int len;
linklist *head,*s;
int pos,pos1,pos2;
int x;
head=create();
len=length(head);
printf("the link's length is %d\n",len);
return 0;
}
结构体里的名字可能不一样,你改一下就可以了