Java线性表代码 线性表的定义和基本操作的代码实现( 二 )


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实现线性表排序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; iarray.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; in; 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; ilength1; i++) {
redata[i] = array1[i];
}
for (int i = 0; ilength0; i++) {
redata[length1 + i] = array0[i];
}
for (int i = 0; ilength2; 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; vn; 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; iforNum; 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语言编写啊 急用?。?/h2>#包括“stdio.h中”
typedef结构节点
{C,E / /节点的数据域,C为系数的多项式e多项式指数
结构节点下/ /节点的指针字段
} PN / /自定义的节点结构类型PN
PN * createPoly()/ /这个函数用于创建一个链表,返回值是一个节点的指针
{N,E,C;
PN *头,* P / /定义头结点指针头节点的指针p
printf(“请输入项目编号项目:“);
scanf的(”%d“,&N); / / n的值,无论是项目的数量
头= P = PN / / * malloc的(大?。≒N));/ /头,p指向头节点(头节点不必存储的数据)

推荐阅读