「java线性指标」java实现线性表
本篇文章给大家谈谈java线性指标,以及java实现线性表对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java关于线性表的编程
package Test;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.StringBufferInputStream;
import java.io.StringReader;
import java.util.Scanner;
class Test {
private static Node firstList, secondList, resultList;
private static void input(Node head) throws Exception {
int a;
int b;
int i;
Node p = head;
BufferedReader reader = new BufferedReader(new InputStreamReader(
System.in));
// 读取一行信息
String input = reader.readLine();
// 以空格为分隔符,转换成数组
String[] numbers = input.split(" ");
for(i=0;inumbers.length;){
a = Integer.parseInt(numbers[i]);
b = Integer.parseInt(numbers[i+1]);
p.next = new Node(a, b);
p = p.next;
i+=2;
}
}
public static void main(String[] args) throws Exception {
firstList = new Node();
secondList = new Node();
resultList = new Node();
Node p=resultList;
System.out.println("输入第一个多项式");
input(firstList);
System.out.println("输入第二个不等式");
input(secondList);
while(firstList.next!=nullsecondList.next!=null){
if(firstList.next.zssecondList.next.zs){
p.next=new Node(firstList.next.xs,firstList.next.zs);
p=p.next;
firstList=firstList.next;
}else if(firstList.next.zssecondList.next.zs){
p.next=new Node(secondList.next.xs,secondList.next.zs);
p=p.next;
secondList=secondList.next;
}else{
p.next=new Node(firstList.next.xs+secondList.next.xs,firstList.next.zs);
p=p.next;
firstList=firstList.next;
secondList=secondList.next;
}
}
if(firstList!=null){
p.next=firstList.next;
}
if(secondList!=null){
p.next=secondList.next;
}
p=resultList;
while(p.next!=null){
System.out.print(p.next.xs+"x^"+p.next.zs+"+");
p=p.next;
}
System.out.println();
}
}
public class Node {
public int xs;//系数
public int zs;//指数
public Node next=null;//指向下一个
public Node(int a,int b) {
xs=a;
zs=b;
}
public Node(){
}
}
答案
输入第一个多项式
5 4 3 2 1 1
输入第二个不等式
4 4 3 2 1 1
9x^4+6x^2+2x^1
java线性表编程(一定要用java语言)
借用楼上的代码
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Test {
public static void main(String[] args) {
ListInteger l1 = new ArrayListInteger(Arrays.asList(3,5,8,11));
ListInteger l2 = new ArrayListInteger(Arrays.asList(2,6,8,9,11,15,20));
ListInteger tmp = new ArrayListInteger(l2);
tmp.removeAll(l1);
ListInteger result = new ArrayListInteger(l1);
result.addAll(tmp);
System.out.println(result);
l1.addAll(l2);
Collections.sort(l1);
System.out.println(l1);
}
}
用JAVA实现线性表排序
package Test;
import java.util.Random;
import java.io.*;
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class Baidu {
/**
* 生成随机数组
* @param n int
* @return int[]
*/
public int[] creatarray(int n) {
Random random = new Random();
int array[] = new int[n];
for (int i = 0; i array.length; i++) {
array[i] = random.nextInt();
}
return array;
}
/**
* 排序函数
* @param data int[]
* @param n 参数长度
* @param cNo 比较的值 是0
*/
public int[] merge(int[] data, int n, int cNo) {
int length1 = 0;
int length2 = 0;
int length0 = 0;
int array1[] = new int[n]; //正数
int array2[] = new int[n]; //负数
int array0[] = new int[n]; //零
int redata[] = new int[n]; //返回数组
for (int i = 0; i n; i++) {
if (data[i] 0) {
array1[length1] = data[i];
length1++;
} else if (data[i] == 0) {
array0[length0] = data[i];
length0++;
} else {
array2[length2] = data[i];
length2++;
}
}
for (int i = 0; i length1; i++) {
redata[i] = array1[i];
}
for (int i = 0; i length0; i++) {
redata[length1 + i] = array0[i];
}
for (int i = 0; i length2; i++) {
redata[length1 + length0 + i] = array2[i];
}
return redata;
}
/**
* 输出函数
* @param time int[]
* @param before int[]
* @param end int[]
* @param n int
*/
public void out(long[] time, int[] before, int[] end, int n) {
for (int v = 0; v n; v++) {
System.out.println("第" + v + "组耗时:" + time[v] + " 原来是:" + before[v] +
" 排序后为:" + end[v]);
}
}
public static void main(String args[]) {
Baidu tt = new Baidu();
int[] array = new int[20];
int[] arrayEnd = new int[20];
array = tt.creatarray(20);
int forNum = 3; //循环次数
long[] timeall = new long[forNum];
for (int i = 0; i forNum; i++) {
Calendar cCalendar = Calendar.getInstance();
long currTimebegin = cCalendar.getTimeInMillis();
arrayEnd = tt.merge(array, 20, 0);
cCalendar = Calendar.getInstance();
long currTimeend = cCalendar.getTimeInMillis();
long time = currTimeend - currTimebegin;
timeall[i] = time;
}
tt.out(timeall, array, arrayEnd, forNum);
}
}
大体思路吧 稍微在此基础上修改一下即可
java建立一个线性表
import java.util.ArrayList;
import java.util.List;
public class ListDemo {
public static void main(String[] args) {
int numLength = 10;
int deleteNum = 5;
ListInteger list = new ArrayListInteger();
init(numLength,list);
delete(deleteNum,list);
print(list);
}
private static void print(ListInteger list) {
for(int i=0;ilist.size();i++){
System.out.print(list.get(i) +"\t");
}
}
private static void delete(int deleteNum,ListInteger list) {
for (int i=0;ilist.size();i++){
if((int)list.get(i)==deleteNum){
list.remove(i);
}
}
}
private static void init(int numLength,ListInteger list) {
for(int i=1;i=numLength;i++){
list.add(i);
}
}
}
//当然你要是把你的代码贴上来就更好了,可以帮忙找出问题,另外也可以知道你对java了解到哪个程度了呵,给出的帮助可能更实际一些
Java设计线性表排序算法
import java.util.Scanner;
import java.util.Arrays;
public class P
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
float[] A=new float[1],B=new float[1];
int alen=0,blen=0,i,j,k;
String line;
System.out.println("请输入线性表A的各元素,每行一个(输入#结束):");
while(true)
{
line=sc.nextLine();
if(line.equals("#"))
break;
A=Arrays.copyOf(A,++alen);
A[alen-1]=Float.parseFloat(line);
}
System.out.println("请输入线性表B的各元素,每行一个(输入#结束):");
while(true)
{
line=sc.nextLine();
if(line.equals("#"))
break;
B=Arrays.copyOf(B,++blen);
B[blen-1]=Float.parseFloat(line);
}
Arrays.sort(A);
Arrays.sort(B);
System.out.println("升序排序后,线性表A的各元素是:");
for(i=0;ialen;i++)
{
System.out.print(A[i]+" ");
}
System.out.println();
System.out.println();
System.out.println("升序排序后,线性表B的各元素是:");
for(i=0;iblen;i++)
{
System.out.print(B[i]+" ");
}
System.out.println();
System.out.println();
A=Arrays.copyOf(A,alen+blen);
for(i=0;iblen;i++)
{
if(B[i]=A[alen-1])
A[alen++]=B[i];
else
{
for(j=0;jalen-1;j++)
{
if(B[i]=A[j])
break;
}
for(k=alen-1;k=j;k--)
{
A[k+1]=A[k];
}
A[j]=B[i];
alen++;
}
}
System.out.println("线性表B按顺序插入线性表A中后,线性表A的各元素是:");
for(i=0;ialen;i++)
{
System.out.print(A[i]+" ");
}
sc.close();
}
}
java线性指标的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java实现线性表、java线性指标的信息别忘了在本站进行查找喔。
发布于:2022-11-24,除非注明,否则均为
原创文章,转载请注明出处。