冒泡和选择:

clc;
clear;
n = 10; %输入数据的个数
suct = 0; %素数的个数
unsuct = 0;%非素数的个数 % a = [33 34 2 34 24 56 3 17 7 11]
for i = 1:n
fprintf('第%d个数', i);
a(i) = input('请输入:');
end
fprintf('输入的序列为:')
a
for i = 1 : n
% a=input('输入:');
if isprime(a(i)) == 1
suct = suct + 1;
su(suct) = a(i);
else
unsuct = unsuct + 1;
unsu(unsuct) = a(i);
end
end
su1 = su;
fprintf('素数排序前:')
su
%冒泡排序:
n = suct;
for i = 1:n
for j = 2:n-i+1
if su1(j-1) > su1(j) %每次去找一个逆序,交换位置
temp = su1(j-1);
su1(j-1) = su1(j);
su1(j) = temp;
end
end
end
fprintf('素数冒泡排序的结果:')
su1
%非素素排序
unsu1 = unsu;
fprintf('非素数排序前:')
unsu
%冒泡排序:
n = unsuct;
for i = 1:n
for j = 2:n-i+1
if unsu1(j-1) > unsu1(j) %每次去找一个逆序,交换位置
temp = unsu1(j-1);
unsu1(j-1) = unsu1(j);
unsu1(j) = temp;
end
end
end
fprintf('非素数冒泡排序的结果:')
unsu1

  

clc;
clear;
n = 10; %输入数据的个数
suct = 0; %素数的个数
unsuct = 0;%非素数的个数 % a = [8 45 23 7 56 99 48 17 75 48]
% 读入十个数并判断素数:
for i = 1:n
fprintf('第%d个数', i);
a(i) = input('请输入:');
end for i = 1 : n
% a=input('输入:');
if isprime(a(i)) == 1
suct = suct + 1;
su(suct) = a(i);
else
unsuct = unsuct + 1;
unsu(unsuct) = a(i);
end
end %插入排序
%素数排序
su1 = su;
fprintf('素数排序前:')
su
m = suct;
for i=2:m
if su1(1,i)<su1(1,i-1)
j=i-1; %记录这个位置
temp=su1(i); %将这个位置的元素值取出来
su1(i)=su1(i-1); %将大的元素后移
while (j-1)>0 %这里实现待插入的元素和已排好序列进行比较
if temp<su1(j-1)
su1(j)=su1(j-1);
else
break;
end
j=j-1;
end
su1(j)=temp;
end
end
fprintf('素数选择排序的结果:')
su1 %非素数排序:
unsu1 = unsu;
fprintf('非素数排序前:')
unsu
m = unsuct;
for i=2:m
if unsu1(1,i)<unsu1(1,i-1)
j=i-1; %记录这个位置
temp=unsu1(i); %将这个位置的元素值取出来
unsu1(i)=unsu1(i-1); %将大的元素后移
while (j-1)>0 %这里实现待插入的元素和已排好序列进行比较
if temp<unsu1(j-1)
unsu1(j)=unsu1(j-1);
else
break;
end
j=j-1;
end
unsu1(j)=temp;
end
end
fprintf('非素数选择排序的结果:')
unsu1

  

14-matlab排序的更多相关文章

  1. MATLAB 排序、拟合

    一.数据排序整合 1.随机生成的数,从小到大排序 clear rand('seed',1)%设置随机种子,确保随机数一样 edge_range=unifrnd (1, 10, 1, 10) edge_ ...

  2. php中14中排序方式的实现

    <?php if (PHP_SAPI == 'cli') {         define('EOL', PHP_EOL);         define('T', "\t" ...

  3. matlab用法总结

    1. Matlab怎么判断空矩阵http://www.ilovematlab.cn/thread-48915-1-1.html a=[ ] if isempty(a) 2.matlab寻找多个最大值位 ...

  4. 基于FPGA的音频信号的FIR滤波(Matlab+Modelsim验证)

    1 设计内容 本设计是基于FPGA的音频信号FIR低通滤波,根据要求,采用Matlab对WAV音频文件进行读取和添加噪声信号.FFT分析.FIR滤波处理,并分析滤波的效果.通过Matlab的分析验证滤 ...

  5. Atitit.现实生活中最好使用的排序方法-----ati排序法总结

    Atitit.现实生活中最好使用的排序方法-----ati排序法总结 1. 现在的问题 1 2. 排序的类别::插入排序//交换排序//选择排序(每次最小/大排在相应的位置  )//归并排序//基数排 ...

  6. Java集合排序及java集合类详解--(Collection, List, Set, Map)

    1         集合框架 1.1         集合框架概述 1.1.1         容器简介 到目前为止,我们已经学习了如何创建多个不同的对象,定义了这些对象以后,我们就可以利用它们来做一 ...

  7. matlab 常用函数

    Matlab常用函数 Matlab的内部常数  eps   浮点相对精度  pi  圆周率  exp  自然对数的底数e  i 或j  虚数单位  Inf或 inf  无穷大 Matlab概率密度函数 ...

  8. <2014 08 29> MATLAB的软件结构与模块、工具箱简示

    MATLAB的系统结构:三个层次.九个部分 ----------------------------------- 一.基础层 是整个系统的基础,核心内容是MATLAB部分. 1.软件主包MATLAB ...

  9. Matlab移植到Eigen用到的词条

    同型矩阵运算满足加法交换律.结合律:并存在单位元.逆元.和0元,为同型矩阵对加法的交换环. Eigen的简单运算参考:http://blog.163.com/jiaqiang_wang/blog/st ...

  10. C数据结构排序算法——希尔排序法用法总结(转http://www.cnblogs.com/skywang12345/p/3597597.html)

    希尔排序介绍 希尔排序(Shell Sort)是插入排序的一种,它是针对直接插入排序算法的改进.该方法又称缩小增量排序,因DL.Shell于1959年提出而得名. 希尔排序实质上是一种分组插入方法.它 ...

随机推荐

  1. php 数组随机取值

    array_rand()在你想从数组中取出一个或多个随机的单元时相当有用.它接受 input 作为输入数组和一个可选的参数 num_req,指明了你想取出多少个单元 - 如果没有指定,默认为 1. a ...

  2. 学习MongoDB 二:MongoDB添加、删除、修改

    一.简介 MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSQL数据库产品中最热门的一种.数据被分组存储在数据集中,被称为一个集合(Collenction)和对于存储在MongoDB ...

  3. SDOI2018游记

    为什么要写游记呢? 游啊游啊游啊游...

  4. c++官方文档-指针

    #include<stdio.h> #include<iostream> #include<queue> #include<map> #include& ...

  5. 基于OpenGL编写一个简易的2D渲染框架-10 重构渲染器-Pass

    Pass,渲染通路,一个渲染通路指的是一次像素处理和一次顶点处理,也就是指的是一次绘制.简单来说就是顶点数据在渲染管线中走一遍最后绘制. 渲染粒子系统的粒子时,需要开启 OpenGL 的混合模式,并使 ...

  6. ABAP-长文本处理

  7. WINFORM小列子参考

    1.用树型列表动态显示菜单   密码:zx9t 二.Popup窗口提醒(桌面右下角出现)   密码:cjjo 三.台历 密码:nq4m 四.文件复制  密码:lsqj 五.进度条  密码:byti 六 ...

  8. attr 修改IMG src

    jQuery修改img的src的方法:$("#img_id").attr("src","new_src"); 定义和用法 attr() 方法 ...

  9. python 在内存中处理tar.bz2文件

    如果tar.bz2文件是通过网络进行下载,那么可以直接在内存进行解压后读取文件内容,不用将文件缓存到本地然后解压再进行读取,可以节省IO. 处理经过gzip压缩的tar文件的方法见:https://s ...

  10. Java并发知识(1)

    1. 进程和线程之间有什么不同? 一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用.而线程是在进程中执行的一个任务.Java运行环境是一个包含了不同的类和 ...