- sunxboy
- 等级: 初级会员
- 性别:
- 文章: 106
- 积分: 0
- 来自: 武汉
|
java 代码
-
-
-
- package line;
-
-
-
-
-
- public class LineSort {
-
-
- private int data[];
-
-
- private int maxSize;
-
-
- private int size;
-
- public LineSort(int maxSize) {
-
- this.maxSize = maxSize;
- data = new int[maxSize];
- size = 0;
- }
-
-
-
-
-
-
-
-
- public int inStr(int data) {
- for (int i = 0; i < this.data.length; i++) {
- if (this.data[i] == data)
- return i;
- }
- return -1;
- }
-
-
-
-
-
-
- public boolean isEnd() {
- return size == maxSize;
- }
-
-
-
-
-
-
- public boolean isEmpty() {
- return size == 0;
- }
-
-
-
-
-
-
-
-
-
-
- public boolean add(int oldData, int newData) {
-
- int p = inStr(oldData);
- if (p != -1)
- return insert(newData, p);
- return false;
- }
-
-
-
-
-
-
-
-
- public boolean addFirst(int data) {
-
- return insert(data, 0);
- }
-
-
-
-
-
-
-
-
-
-
- public boolean insert(int data, int p) {
- if (isEnd()) {
- System.out.println("数据已满!");
- return false;
- }
- for (int i = (size - 1); i >= p; i--) {
- this.data[i + 1] = this.data[i];
- }
- this.size++;
- this.data[p] = data;
- return true;
- }
-
-
-
-
-
-
-
-
- public boolean addLast(int data) {
- return insert(data, size);
- }
-
-
-
-
-
-
-
-
- public boolean remove(int data) {
- if (isEmpty()) {
- System.out.println("数据是空的!");
- return false;
- }
- int p = inStr(data);
- if (p != -1) {
- for (int i = p; i < size; i++) {
- this.data[i] = this.data[i + 1];
- }
- size--;
- return true;
- }
- return false;
- }
-
-
-
-
-
-
-
-
-
-
- public boolean updata(int olddata, int newdata) {
- int p = inStr(olddata);
- if (p != -1) {
- this.data[p] = newdata;
- return true;
- }
- return false;
- }
-
-
-
-
- public void display() {
- for (int i = 0; i < size; i++) {
- System.out.println(this.data[i]);
- }
- }
-
-
-
-
-
-
-
-
-
- public void swap(int i, int j) {
- int temp = data[i];
- data[i] = data[j];
- data[j] = temp;
- }
-
-
-
-
- public void selectSort() {
- for (int i = 0; i < size - 1; i++) {
- int k = i;
- for (int j = i + 1; j < size; j++) {
- if (data[k] > data[j])
- k = j;
- }
- if (k != i)
- swap(k, i);
- }
- }
-
-
-
-
- public void bubbleSort() {
- for (int i = 0; i < size - 1; i++) {
- boolean flag = false;
- for (int j = 0; j < size - i - 1; j++) {
- if (data[j] > data[j + 1]) {
- flag = true;
- swap(j, j + 1);
- }
- }
- if (!flag)
- break;
- }
- }
-
-
-
-
- public void interSort() {
- for (int i = 0; i < size; i++) {
- int temp = data[i];
- int sort = i;
- while (sort > 0 && temp < data[sort - 1]) {
- data[sort] = data[sort - 1];
- sort--;
- }
- data[sort] = temp;
- }
- }
-
- public static void main(String[] args) {
- LineSort line = new LineSort(1000);
- line.addFirst(1);
- line.addFirst(-1);
- line.add(-1, 2);
- line.add(1, 3);
- line.addLast(100);
- line.updata(3, 90);
-
-
-
-
-
-
-
- line.interSort();
- line.display();
- }
- }
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
返回顶楼 |
|
|