📄 closure_clustering.java~59~
字号:
package fuzzy_project;
class Closure_Clustering {
private int row;
private int col;
private int count;
private byte cut_Matrix[][]; //截矩阵
private int Clustering_result[][]; //存储截矩阵中等于1的元素的行列数值
private int temp_result[]; //存储聚成一类的元素
private String result; //聚类结果
public Closure_Clustering(byte arrary[][],int r,int c)
{
cut_Matrix=arrary;
row=r;
col=c;
count=0;
temp_result=new int[r];
Clustering_result=new int[r][c];
result="#";
}
public boolean Search(int array[],int key) //执行关键字搜索
{
for(int i=0;i<array.length;i++)
if(array[i]==key)
return true; //如找到关键字,返回true值
return false;
}
public String exe()
{
for(int i=0;i<row;i++) //遍历截矩阵,又由于截矩阵是对称矩阵,所以只遍历上三角矩阵元素
{
for (int j = i; j < col; j++)
{
if (cut_Matrix[i][j] == 1)
{
Clustering_result[i][count++]=j+1; //j+1是由于JAVA数组的列数默认是从0开始的
}
}
count=0;
}
for(int x=0;x<row;x++)
{
if (Search(temp_result,x + 1)) //x+1是由于JAVA数组的行数默认是从0开始的
{
continue; //如果当前值x+1在temp_result数组中,则表示x+1已经和其他元素聚类,无需扫描x行
}
for (int y=0;y<col;y++)
{
if (Clustering_result[x][y]!= 0)
{
temp_result[count++]=Clustering_result[x][y];
result=result+String.valueOf(Clustering_result[x][y]) + "、";
}
}
result=result+"#"; //符号"#"分隔不是同类的元素集合
}
return result;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -