插入排序的Matlab版实现

tech2026-01-21  1

%函数开始

function [outputArg1,outputArg2] = InsertionSort(inputArg1,inputArg2)

%待排序矩阵,名为sortarray

sortarray=[5,3,1,-1,-7,4,9,-6,8,10,4];

%size()函数返回的是x矩阵的行数和列数,m表示行数,n表示列数

[m,n]=size(sortarray);

%插入排序,默认的第一个元素是有序的,则从第二个元素开始排序

    for i=2:n

%temp中存放的是待排序的元素         temp=sortarray(:,i);

%j表示已排序后的数组中有多少个元素,即待排序的元素需要和j个元素去进行比较         j=i-1;

%当排序进行到第一个元素之后,则停止排序。如果待排序元素temp的值小于已排序元素的值,则执行以下步骤         while(j>=1 && temp<sortarray(:,j))

%将元素位置后挪一位             sortarray(:,j+1)=sortarray(:,j)

%将指针往前挪一位             j=j-1;         end

%插入         sortarray(:,j+1)=temp;     end

end

最新回复(0)