不好意思,补充代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
struct node
{
public int[,] state;
public int parent;
} private void button1_Click(object sender, EventArgs e)
{
node[] Nodes = new node[10];
Nodes[0].state = new int[3, 3];
for (int i = 1; i < 10; i++)
{
Nodes[i].state = Nodes[0].state ;
for (int j = 0; j < 3; j++)
{
for (int k = 0; k < 3; k++)
{
if (Nodes[i].state[j, k] == 0)
Nodes[i].state[j, k] = i;
}
}
}
}
}
}
第一次循环后不知怎么回事Nodes[0].state被赋值?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
struct node
{
public int[,] state;
public int parent;
} private void button1_Click(object sender, EventArgs e)
{
node[] Nodes = new node[10];
Nodes[0].state = new int[3, 3];
for (int i = 1; i < 10; i++)
{
Nodes[i].state = Nodes[0].state ;
for (int j = 0; j < 3; j++)
{
for (int k = 0; k < 3; k++)
{
if (Nodes[i].state[j, k] == 0)
Nodes[i].state[j, k] = i;
}
}
}
}
}
}
第一次循环后不知怎么回事Nodes[0].state被赋值?
struct node
{
public int[,] state;
public int parent;
}
改成
class node
{
public int[,] state;
public int parent;
}
改成Nodes[i].state=new int[3, 3];
最外层循环从0开始;
Nodes[i].state=new int[3, 3]; 这句不要。