顺序表之插入算法

public class text{
    public static void main(String[] args) {
        int[] alist=new int[10];
        alist[0]=14;
        alist[1]=55;
        alist[2]=101;
        alist[3]=256;
        insert(alist, 88, 1);
        insert(alist, 34, 2);
        insert(alist, 52, 3);
        froprint(alist);
    }
    
    public static void insert(int[] array,int num,int value) {
        for (int i = 0; i < array.length; i++) {
            if(array.length==0) {
                System.out.println("数组为空!");
                break;
            }else if (value>array.length) {
                System.out.println("溢出异常!");
                break;
            }
            if(i==value) {                                              //进行判断,因为i是下标,value是插入的位置,当i=value,表示的就是,在插入点后面的结点
                for(int j=array.length-1;j>=value;j--) {     //从顺序表最后一结点开始,到插入位置的结点,每个结点向后移动一位,这里j>=value解释一下,当j=value时,
                    array[j]=array[j-1];                             //array[j],表示的时插入节点之后的那一个结点;array[j-1]表示插入的结点
                }
            }
        }
        array[value-1]=num;
    }

public static void froprint(int[] array) {                //定义输出数组的方法
        for(int i=0;i<array.length;i++) {
            System.err.print(array[i]+" ");
        }
    }
}

原文地址:https://www.cnblogs.com/had1314/p/11160280.html

时间: 2024-08-30 12:33:04

顺序表之插入算法的相关文章

用C语言实现顺序表的插入和删除算法

什么是线性表? 线性表是n个数据元素的有限序列.根据线性表的显现方式,线性表又分为顺序表(数据元素在内存中的存储空间是连续的)和链表(数据元素在内存中的存储空间是不连续的). 线性表如何用C语言实现?线性表可以进行哪些操作? 在C语言中,线性表通过结构体的方式来实现.结构体中定义了线性表的存储空间地址,当前长度,和当前分配的存储容量.操作包含在指定位置插入某一元素.删除指定元素.查找指定的元素等.在这里重点介绍插入和删除算法. 下面就是关于这一部分内容的陈述. 线性表的C语言实现 需要先定义好的

顺序表 初始化 插入 删除 查找 合并 交换 判断为空 求长度

#include <stdio.h> #include <stdlib.h> #define OK 1 #define TRUE 1 #define ERROR -1 #define FALSE -1 #define OVERFLOW -2 #define ElemType int #define Status int typedef int ElemType typedef int Status #define LEN sizeof(SqList) #define MLC (Li

编程实现顺序表的以下基本操作:建立顺序表,修改顺序表,插入顺序表,删除顺序表。

#include <iostream> #include <stdio.h> #include <stdlib.h> using namespace std; typedef int ElemType; typedef int Status; #define OK 1 #define ERROR 0 #define OVERFLOW -2 #define LIST_INIT_SIZE 100 #define LISTINCREMENT 10 ElemType * new

在顺序表中插入一个元素

之前在创建了一个顺序表的功能函数,这个没有疑问,测试没有错误,但是在接下来的做插入功能的时候发现插入的时候用模块写,不调用这个创建的函数,很难做到这个.该怎么实现这个"高内聚,低耦合"的原则. #include <stdlib.h> #include "Orderfist.h" status InsertList_Sq( SqList L[] ) /* 在链表插入一个元素 */ { UINT32 Insert_position = 0U, Insert_

简单顺序表的插入,删除,指定位置,指定元素的插入删除操作

头文件 SeqList.h #ifndef __SEQLIST_H__ #define __SEQLIST_H__ #include<stdio.h> #include<string.h> #include<assert.h> #define MAX_SIZE 10 typedef int DataType; typedef unsigned int size_t; typedef struct SeqList { DataType array[MAX_SIZE]; s

顺序表的冒泡排序算法及二分法查找代码实现

本文主要实现了比较经典的冒泡排序算法(对已经有序或者基本有序的顺序表复杂度大大降低),和二分法查找,各位看官看代码吧 //冒泡排序算法及二分法查找 #include "stdio.h" typedef struct { int key; }SSTable_Elem_Type; typedef struct { SSTable_Elem_Type*elem; int length; }SSTable_Typedef; void Bubble_Sort(SSTable_Typedef*ST

顺序表的插入和删除、数组的增删改查和二分查找

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px "PingFang SC" } span.s1 { font: 24.0px Helvetica } 1.顺序表的表示 为实现顺序表的操作,首先要将其表示出来,用同数据类型的数组和表示数组的长度的整型变量表示. public class LineList{ private int[] data; private int length; public LineList(){ } pu

2. 顺序表 数据结构与算法(python)

2. 顺序表 在程序中,经常需要将一组(通常是某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录他们,传进传出函数等.一组数据中包含的元素个数可能发生变化(可以增加或删除元素). 对于这种需求,最简单的解决方法便是将这样一组元素看成一个序列,用元素在序列里的位置和顺序,表示实际应用中的某种有意义的信息,或者表示数据之间的某种关系. 这样的一组序列元素的组织形式,我们可以将其抽象为线性表.一个线性表是某类元素的一个集合,还记录着元素之间的一种顺序关系.线性表是最基本的数据结构之

顺序表之删除算法

public class delTest { /**     * @param args     */    public static void main(String[] args) {        // TODO Auto-generated method stub        int alist[]=new int[10];        alist[0]=1;        alist[1]=2;        alist[2]=3;        alist[3]=4;