zoukankan      html  css  js  c++  java
  • 动态数组排序实例

    要实现动态数组排序,需要将数据采用链表的形式存储。举例如下:

    package com.cn.datastruct;
    import java.io.IOException;
    import java.util.Scanner;
    //动态数组排序实例
    public class DynamicArray {
        //链表结构
        static class LinkList{
            char data;              //数据域
            LinkList next;          //指针域
        }
        //创建链表
        static LinkList CreatLinkList(char ch){
            LinkList list = null;
            list = new LinkList();
            list.data = ch;
            list.next = null;
            return list;
        }
        //插入结点
        static void insertList(LinkList list,char e){
            LinkList p = new LinkList();
            p.data=e;
            if(list==null){
                list=p;
                p.next=null;
            }else{
                p.next=list.next;
                list.next=p;
            }
        }
        //动态数组排序
        static void dynamicSort(LinkList p){
            LinkList q = p;
            int i,j,k=0;
            char temp;
            while(q!=null){
                k++;
                q=q.next;
            }
            q=p;
            for(i=0;i<k-1;i++){
                for(j=0;j<k-i-1;j++){
                    if(q.data>q.next.data){
                        temp=q.data;
                        q.data=q.next.data;
                        q.next.data=temp;
                    }
                    q=q.next;
                }
                q=p;
            }
        }
        
        
        public static void main(String[] args) throws IOException {
            char[] ch;
            char chc;
            LinkList list,p;
            System.out.println("动态数组排序!");
            System.out.println("请输入一组字符,以回车结束!");
            Scanner input = new Scanner(System.in);
            ch = input.next().toCharArray(); 
            chc = ch[0];         //输入链表的第一个数据
            p=list=CreatLinkList(chc);    //创建一个链表结点
            for(int i=1;i<ch.length;i++){
                insertList(p,ch[i]);
            }
            dynamicSort(list);    //动态数组排序
            System.out.println();
            System.out.println("对该数组排序后,得到的结果如下:");
            while(list!=null){
                System.out.print(list.data+" ");
                list=list.next;
            }
            System.out.println();
        }
    
    }
  • 相关阅读:
    JS的编码、解码及C#中对应的解码、编码 itprobie
    word、excel、ppt转换成html itprobie
    js 导出到word,excel itprobie
    word、excel、ppt转换成pdf itprobie
    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
    Copy Table From Another Table
    系统表相关SQL语句
    sp_executesql Demo
    SQLServer2000删除重复数据
    SQL Tran Save Point
  • 原文地址:https://www.cnblogs.com/gaopeng527/p/4487436.html
Copyright © 2011-2022 走看看