首页 > 前端开发 > 正文

web前端javascript能实现什么算法或者计算

2023-10-19 22:25:40 | 我爱编程网

今天我爱编程网小编整理了web前端javascript能实现什么算法或者计算相关内容,希望能帮助到大家,一起来看下吧。

本文目录一览:

web前端javascript能实现什么算法或者计算

web前端javascript能实现什么算法或者计算

在Web开发中,JavaScript很重要,算法也很重要。下面整理了一下一些常见的算法在JavaScript下的实现,包括二分法、求字符串长度、数组去重、插入排序、选择排序、希尔排序、快速排序、冒泡法等等。仅仅是为了练手,不保证高效与美观,或许还有Bug,有时间再完善吧。

1.二分法:

function binary(items,value){

var startIndex=0,

stopIndex=items.length-1,

midlleIndex=(startIndex+stopIndex)>>>1;

while(items[middleIndex]!=value && startIndex

if(items[middleIndex]>value){

stopIndex=middleIndex-1;

}else{

startIndex=middleIndex+1;

}

middleIndex=(startIndex+stopIndex)>>>1;

}

return items[middleIndex]!=value ? false:true;

}

2.十六进制颜色值的随机生成:

function randomColor(){

var arrHex=["0","2","3","4","5","6","7","8","9","a","b","c","d"],

strHex="#",

index;

for(var i=0;i < 6; i++){

index=Math.round(Math.random()*15);

strHex+=arrHex[index];

}

return strHex;

}

一个求字符串长度的方法:

function GetBytes(str){

var len=str.length,

bytes=len;

for(var i=0;i < len;i++){

if(str.CharCodeAt>255){

bytes++;

}

}

return bytes;

}

3.js实现数组去重:

Array.protype.delRepeat=function(){

var newArray=new Array();

var len=this.length;

for(var i=0;i < len;i++){

for(var j=i+1;j < len;j++)

{

if(this[i]==this[j])

{

++i;

}

}

newArray.push(this[i]);

}

return newArray;

}

4.插入排序。所谓的插入排序,就是将序列中的第一个元素看成一个有序的子序列,然后不段向后比较交换比较交换。

function insertSort(arr){

var key;

for(var j = 1; j < arr.length ; j++){

//排好序的

var i = j - 1;

key = arr[j];

while(i >= 0 && arr[i] > key){

arr[i + 1] = arr[i];

i --;

}

arr[i + 1] = key;

}

return arr;

}

5.选择排序。其实基本的思想就是从待排序的数组中选择最小或者最大的,放在起始位置,然后从剩下的数组中选择最小或者最大的排在这公司数的后面。

function selectionSort(data)

{

var i, j, min, temp , count=data.length;

for(i = 0; i < count - 1; i++) {

/* find the minimum */

min = i;

for (j = i+1; j < count; j++)

{

if (data[j] < data[min])

{ min = j;}

}

/* swap data[i] and data[min] */

temp = data[i];

data[i] = data[min];

data[min] = temp;

}

return data;

}

6.希尔排序,也称递减增量排序算法。其实说到底也是插入排序的变种。

function shellSort(array){

var stepArr = [1750, 701, 301, 132, 57, 23, 10, 4, 1]; //
reverse()在维基上看到这个最优的步长较小数组

var i = 0;

var stepArrLength = stepArr.length;

var len = array.length;

var len2 = parseInt(len/2);

for(;i < stepArrLength; i++){

if(stepArr[i] > len2){

continue;

}

stepSort(stepArr[i]);

}

// 排序一个步长

function stepSort(step){

//console.log(step) 使用的步长统计

var i = 0, j = 0, f, tem, key;

var stepLen = len%step > 0 ? parseInt(len/step) + 1 : len/step;

for(;i < step; i++){// 依次循环列

for(j=1;/*j < stepLen && */step * j + i < len;
j++){//依次循环每列的每行

tem = f = step * j + i;

key = array[f];

while((tem-=step) >= 0){// 依次向上查找

if(array[tem] > key){

array[tem+step] = array[tem];

}else{

break;

}

}

array[tem + step ] = key;

}

}

}

return array;

}

7.快速排序。其实说到底快速排序算法就系对冒泡排序的一种改进,采用的就是算法理论中的分治递归的思想,说得明白点,它的做法就是:通过一趟排序将待排序的纪录分割成两部分,其中一部分的纪录值比另外一部分的纪录值要小,就可以继续分别对这两部分纪录进行排序;不段的递归实施上面两个操作,从而实现纪录值的排序。

function quickSort(arr,l,r){

if(l < r){

var mid=arr[parseInt((l+r)/2)],i=l-1,j=r+1;

while(true){

while(arr[++i] < mid);

while(arr[--j]>mid);

if(i>=j)break;

var temp=arr[i];

arr[i]=arr[j];

arr[j]=temp;

}

quickSort(arr,l,i-1);

quickSort(arr,j+1,r);

}

return arr;

}

8.冒泡法:

function bullSort(array){

var temp;

for(var i=0;i < array.length;i++)

{

for(var j=array.length-1;j > i;j--){

if(array[j] < array[j-1])

{

temp = array[j];

array[j]=array[j-1];

array[j-1]=temp;

}

}

}

return array;

}

web前端javascript能实现什么算法或者计算

编一个程序,计算s=1×2×3×…×n的值

就是计算n的阶乘值:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
int i, s=1;
scanf("%d", &n);
for (i=2; i<=n; i++)
s *= i;
printf("%d\n",n);
system("pause");
return 0;
}

web前端javascript能实现什么算法或者计算

c++编程题 编写函数实现求n!,主程序要求输入n的值,用函数调用的方式求n!的值

限于整型数据的数据范围,所以实际上这个程序只能求n<=12的情况。如果想求更大的,必须为这个阶乘自定义一个数据类型。

#include<iostream>      using namespace std;

int fact(int n);     int main(){

int n;    cout<<"求n!,请输入n:\n";

cin>>n;   cout<<fact(n)<<endl;

return 0;}

//下面是使用递归函数求n!

int fact(int n){     if(n==1) return(1);

else     return(fact(n-1)*n)}

扩展资料

一个简单的c++编程例子:

定义一个圆锥体类(yzt),数据成员有半径r,高h,成员函数有:构造函数、求圆锥体体积的valume(),显示函数display(),在main()中定义yzt 的对象s,求r=h=1时的体积,公式:π/3rrh

#include <iostream>using namespace std;//定义标准命名空间

class yzt //定义yzt类{

private:double r,h;

public:yzt(double x=0,double y=0)// 为yzt的构造函数,功能是为r,h赋值

{ r=x;h=y; }double valume()//求圆锥体的体积函数

{ double v=0;v=(3.1415/3)*r*r*h; 我爱编程网

return v; }void display() //圆锥体的体积显示函数

{cout<<"圆锥体的体积为:"<<valume()<<endl;}

};int main() //主函数,任何程序都必须有一个main()函数,因为要从它开始执行

{

yzt s(1,1); //定义yzt的对象s.display(); //利用对象s调用yzt的display()函数

return 0;

参考资料; 百度百科-c++编程

以上就是web前端javascript能实现什么算法或者计算全部内容,更多相关信息,敬请关注我爱编程网。
与“web前端javascript能实现什么算法或者计算”相关推荐
web前端开发算法 web前端javascript能实现什么算法或者计算
web前端开发算法 web前端javascript能实现什么算法或者计算

web前端动态网页开发主流技术有哪些?目前主流的框架是:Vue、React、Angular三大框架。2020年新增的开发有:小程序云开发、react轻量级框架DvaJS和UmiJS、Vue企业级实战项目与框架、Flutter、React-Native实战项目。框架详解:1.AngularAngular原名angularJS诞生于2009年,之前我们

2023-09-09 09:07:11
web前端开发用到算法吗 web前端javascript能实现什么算法或者计算
web前端开发用到算法吗 web前端javascript能实现什么算法或者计算

Web前端主要包括哪些技术?小白求解答Web前端技术主要包括HTML5、CSS3、Less、Sass、响应式布局、移动端开发、以及Ps设计等,更高级的前端开发人员还需要掌握JavaScript语言、Mysql、Mongodb数据库开发、vue.js、webpack、elementui等前端框架技术。蜗牛学院这里也给大家整理了一份web前端学习路线,希望对想要学习web前端的小白有所帮助。

2023-10-02 23:05:30
web前端开发求和 web前端javascript能实现什么算法或者计算
web前端开发求和 web前端javascript能实现什么算法或者计算

Web前端需要掌握哪些技术?Web前端目前还是一个比较新的职业,其在国内乃至国际上真正受重视的时间还未超过五年。昆明北大青鸟发现随着互联网的迅猛发展,目前不管是企业和个人越来越多的开始使用和学习web前端开发,那么web前端开发是做什么的呢?Web前端需要掌握哪些技术?1、熟练掌握html基本知识,包括每个标签的用法等。2、熟练掌握div+css基本知识,这个东西基本就是

2023-09-08 21:40:46
web前端开发js数组 web前端javascript能实现什么算法或者计算
web前端开发js数组 web前端javascript能实现什么算法或者计算

web前端javascript能实现什么算法或者计算在Web开发中,JavaScript很重要,算法也很重要。下面整理了一下一些常见的算法在JavaScript下的实现,包括二分法、求字符串长度、数组去重、插入排序、选择排序、希尔排序、快速排序、冒泡法等等。仅仅是为了练手,不保证高效与美观,或许还有Bug,有时间再完善吧。1.二分法:functionbinary(items,va

2023-09-18 06:03:04
web前端开发js选项 web前端javascript能实现什么算法或者计算
web前端开发js选项 web前端javascript能实现什么算法或者计算

web前端javascript能实现什么算法或者计算在Web开发中,JavaScript很重要,算法也很重要。下面整理了一下一些常见的算法在JavaScript下的实现,包括二分法、求字符串长度、数组去重、插入排序、选择排序、希尔排序、快速排序、冒泡法等等。仅仅是为了练手,不保证高效与美观,或许还有Bug,有时间再完善吧。1.二分法:functionbinary(items,va

2023-09-21 22:00:13
web前端开发怎么算乘法 java 怎么算乘法
web前端开发怎么算乘法 java 怎么算乘法

什么是WEB前端,WEB前端的概念是什么?web前端就是前端网络编程,也被认为是用户端编程,是为了网页或者网页应用,而编写HTML,CSS以及JS代码,所以用户能够看到并且和这些页面进行交流。web前端即为网站的前端开发,前端开发是创建Web页面或app等前端界面呈现给用户的过程。web前端开发通过HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来

2023-09-23 07:43:39
web前端开发算法 web前端开发需要哪些技能
web前端开发算法 web前端开发需要哪些技能

web前端开发需要哪些技能一、HTML5+CSS3HTML5和CSS3是通往Web工程师路上必须学会的基本内容,主要包括了解常用浏览器和浏览器内核;了解语义化的概念;掌握HTML5语法及使用技巧;掌握HTML5常用标签。掌握CSS语法及使用技巧;掌握DIV+CSS布局方式;掌握常见网页布局模式。掌握HTML5新布局标签、多媒体标签;掌握CSS32D、3D变换、动画效果;能够使用CSS

2023-09-09 09:06:22
web前端开发需要学什么算法 web前端开发得学什么
web前端开发需要学什么算法 web前端开发得学什么

web前端开发得学什么网页web前端开发要学些什么,一起来了解一下吧:1.html+css+js,是WEB前端开发最基础的知识。2.JQuery、html5+css3、http+ajax+json+nodejs+mysql+mongoDB等前后端交互、vue、react、小程序、app混合开发等进阶知识。3.更高级的知识板块,web安全,数据可视化,算法以及算法处理等。拓展

2023-10-09 05:27:05