مرتب سازي رشته

يك رشته اگر با كالن (بدون استفاده از گيومه) تعريف شود، كاراكترهاي عضو آن كد اسكي (عدد) خواهند بود. مرتب شده ي چنين رشته اي به صورت عددي نمايش داده ميشود، براي نمايش آن به صورت كاركتر از تابع ()char استفاده ميكنيم.

مرتب سازي با تابع كتاب خانه اي ()sort

مثال ها:

تعريف رشته به صورت آرايه كاراكتري

>> xs = [‘b’ ‘d’ ‘a’ ‘c’]

xs = bdac

>> sort(xs)

ans = abcd

تعريف رشته به صورت معمول

>> xs = ‘bdac’

xs = bdac

>> sort(xs)

ans = abcd

رشته به صورت اعداد (اسكي)

>> ss = ‘z’ : -1 : ‘r’

ss = 122 121 120 119 118 117 116 115 114

>> stn = sort(ss)

stn = 114 115 116 117 118 119 120 121 122

>> st = char(stn)

st = rstuvwxyz

 

مرتب سازي رشته با تابع حبابي و مقايسه با ()sort

روش bubble sort كه برنامه آن را نوشتهايم، يكي از كندترين روتينهاي مرنبسازي است، اما مرتب سازي داخلي متلب ()sort از روتينهاي مدرنتر و سريعتر مانند quick sort استفاده ميكند.

مثال: تابع مرتب سازي حبابي bubble sort را بنويسيد. سرعت اجراي آن را با سرعت تابع داخلي متلب ()sort مقايسه كنيد. تابع مرتب سازي حبابي به طريق زير نوشته ميشود:

% Function M-File bubbles.m

function y = bubbles(x)

n = length(x);

for k = 1 : n;

% count the passes

for j = 1 : n – k

if x(j) > x(j+1)

temp = x(j);

x(j) = x(j+1);

x(j+1) = temp;

% swap

end

end

end

y = x;

در ام- فايلي به نام bsrt.m يك آرايه از كاراكترها (يك رشته) كه شامل a تا z (كد اسكي 97 تا 122) به طور معكوس است را تعريف ميكنيم. به اين ترتيب، چون نامرتب ترين سامانه را دارد، بيشترين عبور (تكرار) براي مرتب سازي آن انجام خواهدشد.

% Script M-File bsrt.m, calls the function bubbles.m

clc, clear

 يك آرايه بزرگ توليد ميكند %    ;’x = ‘z’ : -1 : ‘a

 

;(xr = repmat(x,1,200 tic xrs = char(sort(xr));

tc = toc;

fprintf(‘for MATLAB sort: %f Secs\n’,tc)

tic

xrs = char(bubbles(xr)) ;

tc = toc;

fprintf(‘for bubble sort: %f Secs’,tc)

>> bsrt for MATLAB sort: 0.060000 Secs

for bubble sort: 2.213000 Secs

 

 

نویسنده: مصطفی همت آبادی

 

مقاله متلب,مطلب,متلب,مقاله برق,مقاله قدرت,مقاله مطلب,مقاله سیمولینک,دانلود متلب,دانلود مقاله متلب,مقالهmatlab ,آموزش متلب,مطلب,متلب,آموزش برق,آموزش قدرت,آموزش مطلب,آموزش سیمولینک,دانلود متلب,دانلود آموزش متلب,آموزشmatlab ,پروژه متلب,مطلب,متلب,پروژه برق,پروژه قدرت,پروژه مطلب,پروژه سیمولینک,دانلود متلب,دانلود پروژه متلب,پروژهmatlab ,

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *