第一章 线性表

3. 结点类的描述:

 1 //结点类的描述
 2 public class Node{
 3
 4     public Object data;
 5     public Node next;
 6
 7     public Node(){
 8         this(null, null);
 9     }
10     public Node(Object data){
11         this(data, null);
12     }
13     public Node(Object data, Node next){
14         this.data = data;
15         this.next = next;
16     }
17 }
18
19 //单链表的描述
20 import java.util.Scaner;
21 public class LinkList implement IList{
22
23     public Node head;
24
25     public LinkList(){
26         head = new Node();
27     }
28     public LinkList(int n, boolean order) throws Exception{
29         this();
30         if(order)
31             creat1(n);
32         else
33             creat2(n);
34     }
35     public void create1(int n) throws Exception{
36         ...
37     }
38     public void display(){
39         Node node = head.next;
40         while(node.next != null){
41             System.out.print(node.data + ‘ ‘);//printIn("单链表的数据是:" + node.data);
42             node = node.next;
43         System.out.printIn();
44     }
45     public Object get(int i) throws Exception{
46         Node node = head.next;
47         int j = 0;
48         while(j < i && node != null)//(j <= i && node.next == null){
49             node = node.next;
50             ++j;
51         }
52         if(j > i || node = null)//(j < i || node.next == null)
53             throw new Exception("第" + i + "个元素不存在");
54         return node.data;
55     }
56     /*public void create1(int n){
57         Node node = head;
58         while(j < n){
59             node.next = node;
60         }
61     }
62     */
63
64 }

2. 顺序表前驱:-- NOT BUG FREE

 1 public class Example2{
 2     public static void main(String[] args) throws Exception{
 3         int n = 10;
 4         SqList F = new SqList(80);
 5         for (int j = 0; j < 81; j++)
 6             F.insert(j, j);
 7         System.out.printIn{"请输入要查找的第i个元素前驱值i"};
 8         int i = new Scanner(System.in).nextInt();
 9         if (0 < i && i < 80)
10             System.out.printIn{i + "的前驱元素是:" + F.get(i - 2)};
11         else
12             System.out.printIn{"直接前驱不存在"};
13     }
14 }

1. 实现建立顺序表并查找元素,输出其位置:-- NOT BUG FREE

 1 public class Test2{
 2     public static void main(){
 3         int j = 0;
 4         SqList F = new SqList(10);
 5         F.insert(0, ‘a‘);
 6         F.insert(1, ‘z‘);
 7         F.insert(2, ‘d‘);
 8         F.insert(3, ‘m‘);
 9         F.insert(4, ‘z‘);
10         F.indexOf(‘z‘);
11         if(j != -1)
12             System.out.printIn("字母‘z‘的位置为:" + j);
13         else
14             System.out.printIn("顺序表中没有‘z‘");
15     }
16 }

 1 public class Test2 {
 2
 3       public static void main(String[] args) throws Exception {
 4
 5          SqList F = new SqList(10);
 6          F.insert(0, ‘a‘);
 7          F.insert(1, ‘z‘);
 8          F.insert(2, ‘d‘);
 9          F.insert(3, ‘m‘);
10          F.insert(4, ‘z‘);
11          int j = F.indexOf(‘z‘);
12          if (j != -1)
13              System.out.printIn("字母‘z‘的位置为:" + j);
14          else
15             System.out.printIn("顺序表中没有‘z‘");
16     }
17 }
时间: 2025-01-19 20:52:58

第一章 线性表的相关文章

数据结构——第一章线性表:03线性表的链式存储结构

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "PingFang SC" } span.s1 { font: 12.0px Helvetica } span.s2 { color: #fb0207 } 1.单链表:用一组地址任意的存储单元存放线性表中的数据元素.以元素(数据元素的映象)+ 指针(指示后继元素存储位置)= 结点(表示数据元素). 2.以线性表中第一个数据元素a1的存储地址作为线性表的地址,称作线性表的头指针.为了

数据结构第一章——线性表的实现

#include<stdio.h> #include<stdlib.h> #include<malloc.h> #define LIST_INIT_SIZE 100 #define LISTINCREMENT 10 #define OVERFLOW -2 #define ERROR 0 #define OK 1 using namespace std; //typedef int Status; typedef struct { int *elem; //指向整个线性表

数据结构期末复习第二章线性表

第二章:线性表 1.线性结构的基本特征答:线性结构是若干数据元素构成的有序(次序)集① 集合中必存在唯一的一个“第一元素”:② 集合中必存在唯一的一个 “最后元素”:③ 除第一元素之外,均有 唯一的前驱:④ 除最后元素之外,均有 唯一的后继. 2.线性表的顺序存储结构和链式存储结构分别是______.(  D )   A. 顺序存取的存储结构.顺序存取的存储结构  B. 顺序存取的存储结构.随机存取的存储结构   C. 随机存取的存储结构.随机存取的存储结构  D. 随机存取的存储结构.顺序存取

数据结构-王道2017-第2章 线性表

1. 线性表的定义和基本操作 1.1 线性表的定义 线性表电话i具有相同数据类型的n(n >= 0)个数据元素的有限序列.其中n为表长,当n=0时,该线性表是一个空表.若用L命名线性表,则一般表示为: L=(a1,a2,a3...ai,ai+1...an) 其中,a1是唯一的第一个数据元素,又称为表头元素:an是唯一的最后一个数据元素,又称为表尾元素.除第一个元素外,每个元素有且仅有一个直接前驱.除最后一个元素外,每个元素有且仅有一个直接后继.以上就是线性表的逻辑特性,这种线性有序的逻辑结构正是

第二章 线性表

2.1线性表类型定义 线性表描述:A=(a1,a2,...an);A为线性表的名称,ai为线性表 的数据元素. 线性表的离散定义:B=<A,R>,A包含n个结点(a1,a2,...an),R中只包含一个关系,即线性关系,R={(ai-1,ai)|i=1,2,....,n}, 一般的线性表的操作可以包含以下几种: * public linklist()  建立一个空的线性表. * public linklist(collection c)  将collection c中的数据依次建立一个线性表.

第二章——线性表

线性表 一.定义 线性表是最常用且最简单的一种数据结构. 简而言之,一个线性表是n个数据元素的有限的序列. 线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的 (注意,这句话只适用大部分线性表,而不是全部.比如,循环链表逻辑层次上也是一种线性表(存储层次上属于链式存储),但是把最后一个数据元素的尾指针指向了首位结点).by~百度百科 二.线性表的顺序表示和实现 1.顺序表示指的是用一组地址连续的储存单元依次储存线性表的数据元素. 通常用数组来

数据结构之第二章线性表之静态链式存储

1--特点:用一维数组来描述线性表,用游标代替指针指示节点在数组中的相对位置.不设“指针”类型的高级语言中适用链表结构. 2--线性表的静态链式存储结构 ////  静态单链表.h//  单链表的静态存储//// 6 //  Copyright (c) 2014年 dashuai. All rights reserved.// #ifndef SLIST_H#define SLIST_H#include <stdio.h>#include <stdlib.h> #define MA

第2章 线性表《C#数据结构和算法》

( 1)除第一个位置的数据 元素外,其它数据元素位置的前面都只有一个数据元素:( 2)除最后一个位置的 数据元素外,其它数据元素位置的后面都只有一个元素.也就是说,数据元素是 一个接一个的排列.因此,可以把线性表想象为一种数据元素序列的数据结构. 2.1.1 线性表的定义 线性表(List) 线性表的接口如下所示. public interface IListDS<T> { int GetLength(); //求长度 void Clear(); //清空操作 bool IsEmpty();

第三章 线性表(C#实现)

1.线性表 概念::零个或多个数据元素的有序序列. 描述: 2.线性表的抽象数据类型: ADT线性表 Data:线性表的数据对象集合为{a1,a2,...,an},每个元素的类型均为DataType.其中除第一个元素a1外,每一个元素有且只有一个直接前驱元素,除了最后一个元素an外,每一个元素有且只有一个直接后继元素,数据元素之间的关系是一对一的关系. Operation Init(*L):初始化操作,建立一个空的线性表: IsEmpty(*L):判断线性表是否为空,若为空,则返回true,否则