2 Star 0 Fork 0

CS-IMIS-23 / 20172309_javaProgramming

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
test03.java 6.17 KB
一键复制 编辑 原始数据 按行查看 历史
package second_term.third_week.test_one;
import second_term.first_week.EmptyCollectionException;
import second_term.third_week.LinearNode;
import java.io.*;
import java.util.Scanner;
import java.util.StringTokenizer;
public class test03 {
private static LinearNode Head;
public static int nWangZhiwei;
public test03(){
Head = null;
nWangZhiwei = 0;
}
public void push(int element){
LinearNode temp = new LinearNode(element);
temp.setNext(Head);
Head = temp;
nWangZhiwei++;
}
public void insert(int place,int element){
LinearNode node1,node2;
LinearNode temp = new LinearNode(element);
if (place==0){
temp.next = Head;
Head =temp;
nWangZhiwei++;
}
else {
node1=Head;
node2=Head.next;
for (int i =0; i<place-1;i++){
node1=node1.next;
node2=node2.next;
}
if (node2!=null){
temp.next=node2;
node1.next=temp;
}
else {
node1.next=temp;
}
nWangZhiwei++;
}
}
public void delete(int place){
LinearNode node1=Head,node2=null;
int i =0;
if (node1==null)
System.out.println("链表中无元素!");
else
node2 = node1.next;
while(node1.next!=null&&node2.next!=null&&i<place-1){
node1=node1.next;
node2=node2.next;
i++;
}
node1.next = node2.next;
nWangZhiwei--;
}
public int pop(){
if (nWangZhiwei==0)
System.out.println("链表为空!");
int result =(int) Head.getElement();
Head = Head.getNext();
nWangZhiwei--;
return result;
}
private static String readString(String filepath) {
StringBuffer str=new StringBuffer("");
String result="";
File file=new File(filepath);
try {
FileReader fr=new FileReader(file);
int ch = 0;
while((ch = fr.read())!=-1 ){
// System.out.print((char)ch+"");
result+=(char)ch;
}
fr.close();
}
catch (IOException e) {
e.printStackTrace();
System.out.println("File reader出错");
}
return result;
}
public static String SortNode(String s){
String result="";
StringTokenizer stringTokenizer = new StringTokenizer(s);
int [] score = new int[stringTokenizer.countTokens()];
for (int i =0;stringTokenizer.hasMoreTokens();i++){
score[i]=Integer.parseInt(stringTokenizer.nextToken());
}
for(int i =0;i < score.length - 1;i++){//使用冒泡排序
for(int j = 0;j < score.length - 1-i;j++){ // j开始等于0,
if(score[j] < score[j+1]) {
int temp = score[j];
score[j] = score[j+1];
score[j+1] = temp;
for (int p =0 ;p<score.length;p++){
result+= score[p]+ " ";
}
result+="链表中的数量:"+nWangZhiwei;
result+="\n";
}
}
}
return result ;
}
public static String init(String s){
// LinearNode temp=null;
if (s.equals("")) {
System.out.println("请输入正确格式的一串数字!");
}
else{
StringTokenizer stringTokenizer = new StringTokenizer(s);
Head = new LinearNode(stringTokenizer.nextToken());
LinearNode head =Head;
nWangZhiwei++;
while (stringTokenizer.hasMoreTokens()) {
LinearNode node = new LinearNode(stringTokenizer.nextToken());
head.setNext(node);
head = node;
nWangZhiwei++;
}
}
String result="";
LinearNode head = Head;
while(head !=null){
result += head.getElement()+" ";
head = head.getNext();
}
return result;
}
public static int getnWangZhiwei(){
return nWangZhiwei;
}
public String toString(){
String result="";
LinearNode head = Head;
while(head!= null){
result+=head.getElement()+" ";
head = head.getNext();
}
return result;
}
public static void main(String []args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入一串数字:");
String s = scan.nextLine();
String re =init(s);
System.out.println(re);
System.out.println("里面的总链结数: ");
// System.out.print(getnWangZhiwei());
System.out.println("");
test03 stack = new test03();
String str = readString("C:\\Users\\superwei\\IdeaProjects\\20172309_javaProgramming\\test.txt");
StringTokenizer stringTokenizer0 = new StringTokenizer(re);
while(stringTokenizer0.hasMoreTokens()){
stack.push(Integer.parseInt(stringTokenizer0.nextToken()));
}//将输入的数字放入链表
StringTokenizer stringTokenizer = new StringTokenizer(str);
while(stringTokenizer.hasMoreTokens()){
stack.insert(5,Integer.parseInt(String.valueOf(stringTokenizer.nextToken())));
stack.insert(0,Integer.parseInt(String.valueOf(stringTokenizer.nextToken())));
}//在0与5中插入文件中的数字
System.out.println("插入文件中的数字后:");
System.out.println(stack.toString());
stack.delete(6);//删除刚刚文件中读取的第一个元素
System.out.println("删除刚刚文件中读取的第一个元素:");
String s1 =stack.toString();
System.out.println(s1);
System.out.println("");
System.out.println("排序过程:");
System.out.println(SortNode(s1));//将已经输出好的队列里的数字当做字符串传进去进行排序
System.out.println("元素个数:");
System.out.println(stack.getnWangZhiwei());
}
}
Java
1
https://gitee.com/CS-IMIS-23/20172309_javaProgramming.git
git@gitee.com:CS-IMIS-23/20172309_javaProgramming.git
CS-IMIS-23
20172309_javaProgramming
20172309_javaProgramming
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891