您的位置:首页 > 编程语言 > Java开发

利用链表进行字母图形输出

2016-03-08 10:44 786 查看
<pre name="code" class="java">import java.util.Scanner;

public class Main {
public static void main(String[] args) {
char i;
int j = 0;
char[] letter = new char[26];

LinkType CL = new LinkType();
LinkType head = null;
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int m = input.nextInt();

for (i = 'A'; i <= 'Z'; i++) {
letter[j] = i;
j++;
}
for (j = 0; j < m; j++) {
DATA nodeData = new DATA();
nodeData.c = letter[j];
head = CL.LinkAdd(head, nodeData);
}

CL.Circle(head);
CL.AllNode(head, n, m);
}
}

class DATA {
char c;
}

class LinkType {
DATA nodeData;
LinkType nextNode;

LinkType LinkAdd(LinkType head, DATA data) {
LinkType node, htemp;
node = new LinkType();
node.nodeData = data;
node.nextNode = null;

if (head == null) {
head = node;
return head;
}
htemp = head;
while (htemp.nextNode != null) {
htemp = htemp.nextNode;
}
htemp.nextNode = node;
return head;
}

void Circle(LinkType head) {
LinkType htemp;
htemp = head;
while (htemp.nextNode != null) {
htemp = htemp.nextNode;
}
htemp.nextNode = head;
}

void AllNode(LinkType head, int n, int m) {
LinkType htemp;
DATA nodeData;
htemp = head;
int i , j;
for (j = 1; j <= n; j++) {
i=0;
while (i < m) {
nodeData = htemp.nodeData;
System.out.print(nodeData.c);
htemp = htemp.nextNode;
i++;
}
System.out.print("\n");
htemp = htemp.nextNode;
}
}
}



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  链表 java