插入排序:选取一个元素,在其前面选择适当的位置插入。
// 插入排序
public void insertSort() {
long select = 0L;
for(int i = 1; i < elems; i++) {
select = arr[i];
int j = 0;
for(j = i;j > 0 && arr[j - 1] >= select; j--) {
arr[j] = arr[j - 1];
}
arr[j] = select;
}
}
栈:四个字,先进先出||后进先出public class MyStack {
private int maxSize;
private long[] arr;
private int top;
// 构造方法
public MyStack(int size) {
maxSize = size;
arr = new long[maxSize];
top = -1;
}
// 压入数据
public void push(long value){
arr[++top]=value;
}
// 弹出数据
public long pop() {
return arr[top--];
}
// 访问栈顶元素
public long peek() {
return arr[top];
}
// 栈是否为空
public boolean isEmpty() {
return (top == -1);
}
// 栈是否满了
public boolean isFull() {
return (top == maxSize - 1);
}
}
[/color][/size]
分享到:
相关推荐
使用python语言写数据结构与算法。线性搜索、选择排序、插入排序、栈,队列,循环队列、链表,链表实_play-with-data-structure-python
在这个实验中,我们将深入探讨三个关键的数据结构:串、排序和栈,并结合一个名为"数据结构"的压缩包文件来分析它们。 首先,我们来看“串”。在计算机科学中,串是字符序列,可以理解为字符串。它是数据结构的基本...
在本压缩包中,包含的程序主要涉及了四个基本数据结构:顺序栈、链式栈、顺序队列和链式队列,以及排序算法。下面将详细解释这些概念及其重要性。 首先,栈是一种后进先出(LIFO)的数据结构,常被比喻为“堆积的...
栈是一种后进先出(LIFO)的数据结构,常用于执行逆序操作,如函数调用、表达式求解和括号匹配等。栈的主要操作包括压栈(Push,添加元素至栈顶)和弹栈(Pop,移除并返回栈顶元素)。队列则遵循先进先出(FIFO)...
本文将深入探讨C#中的数据结构,特别是排序、栈与栈的应用、树和二叉树以及递归等核心概念,并通过实例来加深理解。 首先,我们来看排序。排序是计算机科学中最基本的操作之一,它涉及到对一组数据按照特定顺序进行...
常见的数据结构有数组、链表、栈、队列、树、图等。每种数据结构都有其特定的操作优势,比如数组适合随机访问,链表则便于插入和删除。 排序算法则是对数据结构中的元素进行有序排列的方法。排序的效率直接影响到...
数据结构主要包括数组、链表、栈、队列、树、图、哈希表等。数组是最基本的数据结构,它提供了一种通过索引访问元素的方法。链表则允许动态地添加和删除元素,不需预先知道所需空间大小。栈遵循“后进先出”(LIFO)...
本资料包涵盖了数据结构与算法的重要概念,包括数据结构绪论、线性表、栈和队列、树与二叉树、图、查找以及排序。 1. **数据结构绪论**: 数据结构是程序设计的基础,它涉及到如何在计算机中存储和组织数据。常见的...
常见的数据结构包括数组、链表、栈、队列、树(如二叉树、AVL树、红黑树)、图等。数组是最基本的数据结构,提供了随机访问和快速插入/删除的能力,但插入和删除操作可能涉及大量的元素移动。链表则允许动态调整大小...
7. **排序与查找**:排序算法(冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等),查找算法(顺序查找、二分查找、哈希查找)。 8. **复杂度分析**:时间复杂度和空间复杂度的计算,算法效率评估。 ...
这份"数据结构实验报告+代码"涵盖了多个关键的数据结构类型,包括链表、二叉树、图、字符串、数组、排序、队列和栈。下面我们将详细探讨这些知识点。 1. **链表**:链表是一种线性数据结构,其中元素不是在物理内存...
\数据结构flash演示\版本2\10.2.1 直接插入排序.swf \数据结构flash演示\版本2\10.3 交换排序-冒泡排序.swf \数据结构flash演示\版本2\10.3 快速排序.swf \数据结构flash演示\版本2\10.4.3 堆排序-删除.swf \...
第二部分“数据结构”(第3~5章)讲解算法分析中必须掌握的数据结构知识,主要包括基本数据结构、抽象数据结构、递归和树。第三部分“排序”(第6~11章)按章节顺序分别讨论基本排序方法(如选择排序、插入排序、...
8. **排序算法**:包括冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等。在C语言中,理解和实现各种排序算法是提升编程技巧的关键。 9. **查找算法**:如二分查找、深度优先搜索(DFS)、广度优先搜索...
实验代码部分通常包括了各种经典数据结构的实现,如数组、链表、栈、队列、树(二叉树、AVL树、红黑树等)、图、散列表等。这些数据结构是构建高效算法的基础,它们各有特点,适用于不同的问题场景。例如,数组提供...
排序是将一组数据按照特定顺序排列的过程,常见的排序算法有冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等。每种排序算法都有其独特的时间复杂度和空间复杂度,理解和掌握这些算法有助于在实际编程中...
在数据结构中,二叉排序树(Binary Search Tree,BST)是一种十分重要的数据结构,它不仅能够存储具有排序性质的数据集合,还能够高效地完成插入、查找、删除等操作。二叉排序树插入算法是维护二叉排序树性质的关键...
3. 栈:栈是一种后进先出(LIFO)的数据结构,可用于实现快速的回溯操作,例如在回溯排序算法中。 4. 队列:队列是一种先进先出(FIFO)的数据结构,常用于模拟处理任务的顺序,例如在泡沫排序和希尔排序中。 5. ...
8. **排序与查找**:PPT会涉及多种排序算法,如冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等,以及查找算法,如顺序查找、二分查找、哈希查找等。 9. **文件系统**:在高级的数据结构课程中,可能...