//贴点代码
package com.List.sym;
import java.util.LinkedList;
import java.util.List;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
//单边链表生成与反转,方法一
List <Integer> siglist=new LinkedList<Integer>();
siglist.add(3);
siglist.add(4);
siglist.add(5);
siglist.add(1);
siglist.add(2);
siglist.add(8);
siglist.add(7);
ListTest listTest=new ListTest();
listTest.printList(siglist);
listTest.reverse(siglist);
}
}
package com.List.sym;
import java.util.List;
public class ListTest {
public void reverse(List<Integer>siglist){
for (int i = 0,j=siglist.size()-1; i < siglist.size()/2 ; i++,j--) {
int tempi=siglist.get(i);
int tempj=siglist.get(j);
siglist.set(i, tempj);
siglist.set(j, tempi);
}
printList(siglist);
}
public void printList(List<Integer>siglist){
Iterator<Integer> iterator=siglist.iterator();
while (iterator.hasNext()) {
int i=iterator.next();
System.out.print(" "+i);
}
System.out.println("");
}
}
package com.List.sym;
public class Node {
private int value;
private Node next;
public Node(int value){
this.value=value;
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
public Node getNext() {
return next;
}
public void setNext(Node next) {
this.next = next;
}
}
好困!
分享到:
相关推荐
输入多个整数,以-1作为结束标志,顺序建立一个带头结点的单链表,之后对该单链表的数据进行逆置,并输出逆置后的单链表数据。 Input 输入多个整数,以-1作为结束标志。 Output 输出逆置后的单链表数据。 ...
在C++编程中,单链表是一种常见的数据结构,它由一系列节点组成,每个节点包含一个数据元素和指向下一个节点的指针。本模版提供了单链表的多种操作,如头插法、尾插法、定位插法、删除、查找和逆置等。以下是对这些...
### 单链表逆置知识点解析 #### 一、单链表基础概念 单链表是一种常见的线性数据...通过以上分析,我们可以了解到单链表逆置的基本原理及其在代码中的实现方式。对于理解和掌握数据结构与算法的设计有着重要的意义。
数据结构单链表、双链表的逆置算法 数据结构是一门研究计算机存储、表示和...不同的数据结构需要使用不同的逆置算法,例如一维数组可以使用循环遍历实现逆置,而单链表和双链表可以使用头插法建立链表然后将其逆置。
例如,单链表的逆置,单链表的合并,找到单链表的中间节点等的算法实现。下面这个是单链表的结构体的定义: 代码如下:typedef struct LNode{ ElemType data; struct LNode *next;}LinkList;下面的基本的单链表的...
单链表的创建函数为`creaTaiList()`,该函数使用`malloc`函数动态分配内存,创建一个链表的头结点,然后通过循环输入数据来建立链表。链表的每个结点由`struct Node`结构体定义,包含数据域`data`和指针域`next`。 ...
单链表是一种常见的数据结构,它由一系列节点组成,每个节点包含数据元素和指向下一个节点的指针。本文主要讨论如何在单链表中通过尾插法和头插法建立链表。 首先,我们来看尾插法建立单链表。在不设置表尾指针的...
1. **定义单链表的数据类型**:每个节点包含两个部分——存储数据的部分(如姓名和电话号码)和指向下一个节点的指针。 2. **初始化链表**:创建一个空链表,通常设置头结点的`next`指针为空。 3. **构建链表**:...
1、 尾插法建立一个单链表,并按顺序输出 2、 单链表的元素查找,按内容查找 3、 元素插入操作 4、 按内容元素删除操作 5、 按位置删除元素 6、 建立双向链表 7、 单链表就地逆置 8、 约瑟夫环问题 二、 栈及其操作 ...
单链表是数据结构中常见的一种线性表,它的每个元素(节点)包含一个数据域和一个指向下一个元素的指针。在Python中,我们可以用类来表示链表节点。本文将详细介绍如何使用Python实现单链表的反转操作,包括循环和...
此外,通过编写代码实现单链表的建立、输出、合并、删除重复值以及逆置等功能,不仅锻炼了编程技能,还提高了问题解决的能力。 总之,通过本次实验,我们不仅掌握了单链表的基本操作,而且通过实践加深了对数据结构...
单链表逆置算法的代码实现: ```c void invert(linklist*&head) { datatype q; linklist* p = head; linklist* q = NULL; while (p != NULL) { q = p->next; p->next = q->prev; q->prev = p; p = q; } ...
1. **链表的建立** 链表的建立通常从创建一个空链表开始。一个空链表只有一个头节点,它的值通常为NULL,表示链表没有元素。创建链表时,我们需要定义节点结构体,包含数据域和指针域。例如,在`struct.c`中可能会...
1. **单链表逆置主文件**:这部分代码主要负责创建单链表并实现其逆置功能。程序首先定义了一个`linklist`结构体,用于存储节点的数据和指向下一个节点的指针。然后通过`creat`函数使用尾插法建立单链表,并通过`...
五:内容:1、若X和Y是用结点大小为1的单链表表示的串,设计算法找出X中第一个不在Y中出现的字符。 2、设计一算法,在顺序串上实现串的比较运算strcmp(S,T)。 3、若S和T是用结点大小为1的单链表存储的两个串,设计...
- **单链表逆置**:通过迭代或递归方式改变每个节点的指针方向,使链表反向。 - **约瑟夫环问题**:使用栈或队列来模拟环形结构,根据设定的规则删除节点。 2. **栈**: - **建立堆栈**:初始化空栈。 - **进栈...
线性表综合题 (1) 按照输入的顺序建立顺序表 (2) 对顺序表进行排序(直接插入、冒泡、选择、快速、合并) (3) 按照由大到小的顺序建立一个单链表 (4) 链表逆置 (5) 将顺序表和链表合并成一个有序表。...
- 哈夫曼编码是一种用于数据压缩的编码方法。本文档提供了一个实现哈夫曼编码的例子。 #### 七、排序算法 排序是计算机科学中的基本操作之一,本文档提供了两种基础排序算法的实现示例: - **冒泡排序** - 实现...
1. **尾插法建立单链表**:通过不断在链表尾部插入新节点,构建一个链表。 2. **元素查找**:根据内容在链表中搜索特定元素。 3. **元素插入**:在链表的指定位置插入新的元素。 4. **元素删除**:根据内容或位置...
1、随机产生或键盘输入一组元素,建立一个带头结点的单向链表(无序)。 2、遍历单向链表(显示)。 3、把单向链表中元素逆置(不允许申请新的结点空间)。 4、在单向链表中删除所有的偶数元素(值为偶数)结点。 5...