哪里错了。弄了很久。求大神小的知错了

这个java写的快速排序 不知道哪里错了 求大神给看下!困扰好久了 一直死循环!_百度知道
这个java写的快速排序 不知道哪里错了 求大神给看下!困扰好久了 一直死循环!
ublic void quicksort(int []a;key){
a[j] = a[i];
if(left &lt, right);
while(i & right){
quicksort(a;j&&a[i]&
int i =j){
while(i&key){
i++, i-1), left,j=right,int right){
int key = a[left];
quicksort(a;
while(i &= right){
return, j&&a[j]&lt
sorry 我弄晕了 不用了!
提问者采纳
/ 枢纽元素
int key = data[i]:int[] a = { 12,大于该元素的放到右边,low。
* @ key) {
while (i &
* 如果是整个数组进行排序;
while (i &lt。不断重复此过程,即只对这一个范围内的元素进行排序(标黄的部分):&quot, 5;:排序的结束位置;br&
if (low &lt,则low=0, 1, 9;
public static
void quicksort(int[]
j--:选定一个元素作为枢纽元素,将小于枢纽元素的元素放到枢纽元素左边:要排序的数组; j) {
&#47,看到第16个元素;/&#47, 4;枢纽元素是, 15);br&br& j && data[j] &
* 下面的参数, 22, 23。&
data[i] = key, 45; + high); j) {
data[i] = data[j]。
printArray(data),/大于新枢纽元素的元素放到右边, 33, 88。&lt,i+1,将小于新枢纽元素的元素放到左边,high就是可以支持一个数组的一个子区间进行排序; 从右往左判断,high=数组, 5,low。&lt,high), 2.println(&quot:& 递归右边
quicksort(data.length-1, 0 }, 7, 2。
quicksort(data。quicksort(a;
* 思想,j=&#47。
*/ 从左往右判断,
7,将小于该元素的元素放到左边, 5; j && data[i] &lt:排序的起始位置
System, 4; 从第6个元素开始.
i++; 递归将枢纽元素左边的元素再分成2部分; + low + &quot,i-1),
* 直到最终形成一个有序的列表; high) {
&#47&#47。&lt,int high) {
i++:&quot, 23;/
if (i &// j) {
data[j] = data[i],将大于枢纽元素的元素放到枢纽元素右边
while (i &lt, 8, 9;**
* 快速排序
提问者评价
其他类似问题
为您推荐:
死循环的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁查看: 220|回复: 0|关注: 0
图像边缘处理问题,搞了很久没搞出来,求大神大腿
程序如下,运行时总出现错误,好像跟输入的图片大小有关系,当图片过大(50K左右)时总出现错误:请求的输出太多。其原因很可能是含有逗号分隔列表扩展的左侧两旁缺少 []。
但当输入较小(8K左右)的图片时,又出现这样的错误:未定义与 'double' 类型的输入参数相对应的函数 'minboundrect'。
file:///C:/Users/FTY/AppData/Roaming/Tencent/Users//QQ/WinTemp/RichOle/6%PV(%IV$TKI%60QU(4EMEU%7BU.png
file:///C:/Users/FTY/AppData/Roaming/Tencent/Users//QQ/WinTemp/RichOle/6%PV(%IV$TKI%60QU(4EMEU%7BU.png
%function [ R_mean,R_var ] = measurement( K,F,pixel )
% Detailed explanation goes here
%输入:I---RGB图像
% % 输出:R---被检测区域图像
% % 输出:measurement--被检测皮损尺寸大小:面积、周长、最大直径、最小直径.单位mm.
% bDebug =
I = imread('0.jpg');
[m,n,d] = size(I);
& & J = rgb2gray(I);
& &error('should read a color image');
% HSV空间 转换
hsv = rgb2hsv(I);
h = hsv(:,:,1);
s = hsv(:,:,2);
v = hsv(:,:,3);
& & figure,imshow(I);
& & title('origin image');
thds=1.3*graythresh(s);
if thds & 1
& & thds = 0.8;
sBw = im2bw(s, thds);
thdv1=1*graythresh(v);
thdv2=0.91*graythresh(v);
vBw1 = im2bw(v, thdv1);
vBw2 = im2bw(v, thdv2);
vBw = ~vBw1 & vBw2;
bw = sBw & vBw;
& & figure, imshow(sBw,'Border','tight');
& &&&title('s-space binarization');
& & figure, imshow(vBw,'Border','tight');
& &&&title('v-space binarization');
& & figure, imshow(bw,'Border','tight');
& &&&title('merged bw');
% 先膨胀 再 开运算,把细小物体分割出来
se = strel('disk',5);
bw2=imclose(bw,se);
se2 = strel('disk', 4);
bw3 = imopen(bw2, se2);
& & figure, imshow(bw2,'Border','tight');
& & title('bw2');
& & figure, imshow(bw3,'Border','tight');
& &&&title('bw3');
%去除小块(噪声点)
L = bwlabel(bw3, 8);
[B,L1] = bwboundaries(bw3,'noholes');& &
stats = regionprops(L1,'Area','Centroid');threshold = 0.3;
objNum = max(L(:));
mask = zeros(m, n);
objArea = 0;
objThd1 = 100;
objThd2 = 5000;
for i = 1:objNum
& & obj = (L == i);
& & if sum(obj(1,:))&0 || sum(obj(m,:))&0 || sum(obj(:,1))&0 || sum(obj(:,n))&0&&%去除 边界上的孔
& & objArea = sum(obj(:));
& & boundary = B{i};&&
& & delta_sq = diff(boundary).^2;&&% 计算周长&&
& & perimeter = sum(sqrt(sum(delta_sq,2)));&&% 对标记为K的对象获取面积&&
& & area = stats(i).A&&% 圆度计算公式4*PI*A/P^2&&
& & metric = 4*pi*area/perimeter^2 ; % 结果显示&&
& & if objArea & objThd1 &&&&objArea & objThd2 && metric & threshold
& && &&&tmpPos = find(obj & 0);
& && &&&tmpV = v(tmpPos);
& && &&&mask = mask + % 去除 噪声 之后的二值化矩阵
% 获取皮损特征的块区域
se3 = strel('disk', 1);
mask2 = imdilate(mask, se3);
mask2 = imdilate(mask2, se3);
mask3 = imfill(mask2, 'holes');
& & figure, imshow(mask,'Border','tight');
& & title('mask');
& & figure, imshow(mask2,'Border','tight');
& &&&title('mask2');
& & figure, imshow(mask3,'Border','tight');
& & title('mask3');
%边界寻找&&
[B,L] = bwboundaries(mask3,'noholes');&&
e = edge(~mask3, 'canny');& &
pos = find(e == 1);% 标记边缘用黑色的线
rT(pos) = 0;
imshow(rT,'Border','tight');
sprintf('面积mm2');
bwarea(mask3);
LL=bwlabel(mask3);
stats2=regionprops(LL,'Area');
B=bwboundaries(LL);
for i=1:max(LL(:))& &
& & boundary=B{i};& &
& & lengthboundary=size(boundary,1);& &
& & k=[k lengthboundary];
[value,index]=max(k);
boundary=B{index};%
boundaryx=boundary(:,2);
boundaryy=boundary(:,1);
[rectx,recty,area,perimeter] = minboundrect(boundaryx,boundaryy,'a');
pixel=0.015;
s=stats2(index).Area*
disp('面积=');disp(s)
disp('周长=');disp(l)
%输出最大直径最小直径
w=sqrt((rectx(1)-rectx(2))^2+(recty(1)-recty(2))^2)*
disp('最大直径') ;disp(w);
h=sqrt((rectx(3)-rectx(2))^2+(recty(3)-recty(2))^2)*
disp('最小直径'); disp(h);
%imwrite(rT,F);
QQ图片05.png (9.54 KB, 下载次数: 0)
输入图片过大时的错误
22:04 上传
QQ图片38.png (23.71 KB, 下载次数: 0)
输入图片较小时的错误
22:05 上传
站长推荐 /3
Powered by刚接触php,想看项目快点学下php,然后安装了ecshop,然后老是有错,改了好久,然后又出现了一个比较蛋疼的样子,求大神们帮忙看看
[问题点数:100分]
刚接触php,想看项目快点学下php,然后安装了ecshop,然后老是有错,改了好久,然后又出现了一个比较蛋疼的样子,求大神们帮忙看看
[问题点数:100分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。

我要回帖

更多关于 错过你给的爱很久很久 的文章

 

随机推荐