当前位置:首页 » 操作系统 » 编写算法

编写算法

发布时间: 2022-02-05 18:31:10

A. 求编写算法

先开两个数组s和q, s存放栈中的数据,q存放队列中的数据,遍历栈S,碰到奇数就把数据放到数组q中,碰到偶数就放到数组s中,然后再把数组s和q中的数据分别插入到栈S和队列Q中即可。

B. 数据结构编写算法

Node * min = list->head; //minmum node
Node * prv = NULL; //prv's link is the minmum node
while p! = NULL // find the mimimum
if min->data>p->data
min = p; //每找到一个比当前minmun更小的节点,则让P指向这个节点。
end if
prv = p; //让prv的始终指向p的前一个节点
p = p->link;
end while
if prv != NULL // prv is changed,reset the links
prv->link = p->link; //下面3行:让p前面的节点指向p后面的节点
//(p就不在链表里了),然后p指向head,并
//把链表的head设为p
p->link = list->head;
list->head = p;
end if
//else head is the minmum node

///注:没有用malloc申请新的节点,只是申请了新的节点的指针。

//稍微完善了一下,修正了几个错误并写了注释,楼主可以看着给分吧,强烈bs那个我东西的人。写软件的最烦的就是你这种人。

C. 编写数据结构算法

1、编写删除单链表中值为X的算法。
typedef struct LNode
{ int data;
struct LNode *next;
}LinkList;
void del(LinkList *&L,int value) {
LinkList *p;
while(L->next!=NULL){
p=L->next;
if(p->data==value)
L->next=p->next;
delete p;
L=L->next;
}
}

2、编写算法计算指定子串在一个字符串中出现的次数
typedef struct
{
char data[100];
int len;
}SqString;
int StrCount(SqString *substr,SqString *str){
int flag=1,count;
for (int i=0;i<str->len-substr->len;i++){
flag=1;
for (int j=0;j<substr->len;j++)
if (*(substr+j)!=*str) flag=0;
if (flag==1) count++;
}
return count;
}

D. 计算机编程常用算法有哪些

贪心算法,蚁群算法,遗传算法,进化算法,基于文化的遗传算法,禁忌算法,蒙特卡洛算法,混沌随机算法,序贯数论算法,粒子群算法,模拟退火算法。

模拟退火+遗传算法混合编程例子:
http://..com/question/43266691.html
自适应序贯数论算法例子:
http://..com/question/60173220.html

E. 计算机编程的算法是什么意思

算法,对应的英文单词是algorithm,这是一个很古老的概念,最早来自数学领域,是用于解决某一类问题的公式和思想。

计算机科学领域的算法,本质是一系列程序指令,用于解答特定的运算和逻辑问题。一般运用时间复杂度和空间复杂度来衡量算法好坏。

学习算法,不需要死记硬背那些冗长复杂的背景知识、底层原理、指令语法,需要做的事零五算法思想、理解算法对内存空间和性能的影响,以及开动脑筋去寻求解决问题的最佳方案。

数据结构是算法的基石,是数据的组织、管理和存储的格式,其目的是为了高效地访问和修改数据。数据结构的组成方式有:线性结构、树、图等。有了数据结构这个舞台,算法才可以尽情舞蹈,所以在学习算法之前最好先系统学习数据结构。在解决问题时,不同的算法会选用不同的数据结构。例如排序算法中的堆排序,利用的就是二叉堆这样一种数据结构。

F. 算法编写方法

C语言程序也是算法的一种形式,以后老师让你写算法的时候你就写程序吧,他会给你满分的。

算法是一种简化的、抽象的程序,是通俗语言加上一些逻辑格式对程序过程的描述,它不是程序,但是所有的程序员都能把它翻译为自己会的那种程序。

G. 如何编写高效的算法

我也在看算法导论..那本书太恐怖了....

学算法是肯定需要数学基础的 所以...数学再加油吧

H. C语言算法的编写

同学你好,通过找规律可以得到,当n为偶数时,结果为0,n为奇数时,结果为-1;
所以直接用if条件语句判断一下就好啦!
望采纳,谢谢!

I. 编写一个算法

int func(float Arr[], int num)
{
int flag = 0;//如果有大于1000,则标志位为1
int i = 0;
int index = 0;
float min = Arr[0];

for( i = 0; i < num; i++)
{
if( Arr[i] > 1000 )
{
flag = 1;
if ( Arr[i] < min)
{
min = Arr[i];
index = i;
}
}
}

if (flag)
return index;
else
return -1;

}
时间复杂度是O(n)

J. 编写算法

int Count(BTreeNode* BT)
{
int nLeftLeave, nRightLeave;
if( (BT->Left == NULL) && (BT->Right == NULL) )
return 1; // leave node
if( BT->Left != NULL )
nLeftLeave = Count(BT->Left);
if( BT->Right != NULl)
nRightLeave = Count(BT->Right);
return nLeftLeave + nRightLeave;
}

虽然晚了点;不过我就是喜欢递归

热点内容
ftp保存密码是灰色 发布:2025-01-11 14:00:07 浏览:258
压缩文件最好 发布:2025-01-11 13:59:58 浏览:646
有几家java培训机构 发布:2025-01-11 13:55:05 浏览:473
搭建个人服务器缺点 发布:2025-01-11 13:54:13 浏览:373
怎么用安卓的手机登录ios第五人格 发布:2025-01-11 13:44:11 浏览:766
登陆Ftp重输密码 发布:2025-01-11 13:40:12 浏览:332
解压神器有氧射击 发布:2025-01-11 13:33:04 浏览:851
百度云的好友在哪个文件夹 发布:2025-01-11 13:32:13 浏览:747
2级c语言试题 发布:2025-01-11 13:09:21 浏览:939
rft屏幕代码编译 发布:2025-01-11 12:54:01 浏览:743