当前位置: 首页 > news >正文

制作网络网站偃师做网站

制作网络网站,偃师做网站,建行网站首页登录,深圳被点名批评fortran简单排序算法#xff0c;对一维、二维矩阵进行正序或倒序排序 0. 引言1. 算法实现1.1 一维数组排序1.2 二维数组排序1.2 module文件 2. 结语 0. 引言 排序算法是计算机科学中的一项重要技术#xff0c;它将一组数据按照特定的顺序排列起来。排序算法有很多种#xff… fortran简单排序算法对一维、二维矩阵进行正序或倒序排序 0. 引言1. 算法实现1.1 一维数组排序1.2 二维数组排序1.2 module文件 2. 结语 0. 引言 排序算法是计算机科学中的一项重要技术它将一组数据按照特定的顺序排列起来。排序算法有很多种如冒泡排序、选择排序、插入排序、快速排序等。排序算法在数据处理和计算机科学中具有重要的意义它能够帮助我们进行数据的组织和检索分析和统计去重和筛选提高程序的效率推动算法理论研究和算法工程的开发。 本篇基于Fortran内置函数minloc和maxlox对一维、二维矩阵进行可控的正序和倒序排列。 1. 算法实现 1.1 一维数组排序 示例1 生成一个随机一维向量调用module文件下的sort_simple函数进行正序和倒序排列sort_simple函数的一般形式为 function sort_simple(array, bool)result(array2)其中array为待排序的一维向量bool可选参数默认正序排列设置为True时倒序排列array2为返回排序后的结果size和array的size一致。 ! Main文件 简单一维排序 program mainuse, intrinsic :: iso_fortran_envuse base_math! 三种排序比较 调用简单排序real(real64),allocatable :: array(:),array2(:),array3(:)integer :: ireal(real64) :: t_beg,t_end,t_samplereal(real64),allocatable,dimension(:) :: arrallocate( array(12) ) ! 假定数组长度为12call random_seedcall random_number(array) ! 生成随机数组call cpu_time(t_beg)array2 sort_simple(array) array3 sort_simple(array, .true.)call cpu_time(t_end)t_sample t_end - t_beg ! 记录用时do i 1, size(array2)write(*, (f12.7,1X,f12.7,1X,f12.7))array2(i),array3(i)enddo end program执行结果如下能够看到array2和array3分别输入了正序排列和倒序排列的结果数据量少时可以适用数据量多的时候该方法比较耗时后续会有其他方法分享。 1.2 二维数组排序 示例2 生成一个随机二维向量调用module文件下的sort_simple_dim2函数进行正序和倒序排列sort_simple_dim2函数的一般形式为 function sort_simple_dim2( array, dim, bool)result(array2)其中array为输入要排序的二维矩阵dim控制对行或列进行排序1为行2为列bool可选参数默认正序排列设置为True时倒序排列。 ! Main文件 简单二维排序 program mainuse, intrinsic :: iso_fortran_envuse base_mathreal(real64),allocatable :: array(:,:),array2(:,:),array3(:,:)integer(int32) :: i,jallocate(array(4,4))call random_seedcall random_number(array) ! 生成随机数组array2 sort_simple_dim2( array, 1)array3 sort_simple_dim2( array, 1,.true.)print *,二维数组array倒序排列(排序前)do i 1, size(array3,1)write(*, ( *(f12.7,1X) ))(array3(i,j),j1,size(array3,2))enddoprint *,二维数组array正序排列(排序后)do i 1, size(array2,1)write(*, ( *(f12.7,1X) ))(array2(i,j),j1,size(array2,2))enddoend 1.2 module文件 module文件 中内容如下包含了两个用于排序的函数体 ! module文件 module base_math use, intrinsic :: iso_fortran_env implicit nonecontains !** 排序(一维简单排序) function sort_simple(array, bool)result(array2) implicit none real(real64) :: array(:) logical,optional :: bool integer(int32) :: count,i,cont integer(int32) :: index(1) real(real64) ,allocatable :: array2(:),array3(:) logical :: bool2 real(real64) :: num1,num2 real(real64),parameter :: hg huge (0.d0) real(real64),parameter :: eps epsilon(0.d0)bool2 .false. if(present(bool))bool2 bool ! 控制倒序还是正序(默认是正序)count size(array) if(count 1)return array3 array allocate(array2, source array) cont 0 docont cont 1if(.not. bool2)thenindex minloc(array3)array2(cont) array3(index(1))array3(index) hgelseindex maxloc(array3)array2(cont) array3(index(1))array3(index) epsendifif(cont count)exit enddoend function! 二维矩阵按行排序/按列排序(将每一行或列按一定的次序排列) function sort_simple_dim2( array, dim, bool)result(array2) real(real64),allocatable,intent(in) :: array(:,:) integer(int32),intent(in) :: dim logical,optional :: bool real(real64),allocatable :: array2(:,:) real(real64),allocatable :: array3(:,:) integer(int32) :: i logical :: bool2if( .not.allocated(array) )return if(size(array,1) 1 .and. size(array,2) 1)returnbool2 .false. if(present(bool))bool2 bool ! 控制倒序还是正序(默认是正序) array3 arrayallocate(array2,source array) if(dim 1)then ! 逐行排序do i 1, size(array,1)array2(i,:) sort_simple(array(i,:), bool2)enddoelseif(dim 2)then ! 逐列进行排序do i 1, size(array,2)array2(:,i) sort_simple(array(:,i), bool2)enddo endifend functionend module base_math 2. 结语 本篇分享了基于fortran简单排序的方法能够实现对一维、二维矩阵的正序或倒序排列。
http://www.pierceye.com/news/389314/

相关文章:

  • 建德营销型网站建设企业邮箱地址怎么填写
  • 网站建设规划书总结怎么写wordpress 菜单链接
  • 网站目录程序重庆市建筑工程造价信息网官网
  • WordPress上传后找不到seo优化工程师
  • wordpress登录界面插件如何优化培训方式
  • 贵州建网站网站怎么优化自己免费
  • 个人网站介绍源码网站制作昆山
  • 网站开发属于知识产权吗如何制作软件程序
  • 外贸网站模板源码网络架构如何写
  • 网站建设美工的职位要求建材做哪些网站好
  • 淘宝客自建网站wap免费空间
  • python快速搭建网站如何制作一个微信刷题小程序
  • 域名备案与网站备案网站漏洞解决
  • 公明做网站多少钱高端网站设计怎么样
  • 重庆网站建设 熊掌号wordpress 被发文章
  • 网站建设管理视频广东省农业农村厅班子
  • 网站建设需要钱吗开发一个小程序流程
  • 通州富阳网站建设做足彩网站推广
  • 一个公司做网站需要注意什么条件车之家汽车官网
  • 石家庄网站建设网站建设网站的制作哪家好
  • 苏州晶体公司网站网站排名优化各公司的
  • 网站开发大致多少钱团队拓展训练
  • p2p网站建设方案卫龙模仿iphone做网站
  • 做盗版电影网站犯法吗Wordpress 淘宝客 页面
  • 自己做网站费用html5结构的网站
  • wordpress做资源分享站做网站的图哪来
  • 国外设计欣赏网站线上建模培训班哪个好
  • 微信网站建设合同怎么在本地搭建网站
  • 班级网站怎么做网页制作临沂网站制作方案
  • 泰州网站建设服务好wordpress调用分类名