MATLAB实现直接插入排序的演示动画

来源:互联网 发布:ubuntu命令行快捷键 编辑:程序博客网 时间:2024/05/18 00:56

前言

刚写完《排序算法之----直接插入排序》,感觉少了点什么。对,就是直观生动的演示。网上看到别人发布的一些动态图,遂起了自己动手DIY的念头

效果图:


 


源码

 

close all;cla;clear all;clc;N=120;plot([1:N],N/2*ones(1,N));data = ones(1,N);count = 1;text('Units','pixels','Position',[190,220],'String','by tiredoy');text('Units','pixels','Position',[170,200],'String','直接插入排序');M(count) = getframe;count = count+1;for i=1:N     data(i) = floor(N*rand(1,1));endcla;plot([1:N],data,'*');M(count) = getframe;count = count+1;key = 0;for i=2:N    if data(i)<data(i-1)        key = data(i);        j = i-1;        while (j>=1 && key<data(j))            data(j+1) = data(j);            j = j-1;            %cla;            %移动过程中的效果                       end        data(j+1) = key;        cla;        plot([1:N],data,'k.');        M(count) = getframe;                    count = count+1;             endendcla;plot([1:N],data,'.');M(count) = getframe;movie(M);

相关链接

《排序算法之----直接插入排序》

0 0
原创粉丝点击