## Data structure and algorithm array Foundation

xbhog 2021-01-21 12:13:09
data structure algorithm array foundation

# Array basis ：

## Reading guide ：

Start the winter vacation , Prepare to open a summary of data structure and algorithm , Record this boring winter vacation study ;

Don't talk much , Let's start with arrays ;

I hope we can stick to it ！

## Basic use of array ：

First, for arrays , We need to know its basic rules and application ;

public static void main(String[] args) {
// Create an array
int[] num = new int[3];
// Get array length
int length1 = num.length;
System.out.println(" The length of the array ："+length1);
// Assign values to elements in an array
num[0]=99;
num[1]=98;
num[2]=97;
// Traversal array
for (int i=0;i<length1;i++){
System.out.printf(" Array elements [%d]：%d",i,num[i]);
}
System.out.println();
// When you create an array, you assign values directly
int[] arr = {99,98,97,22};
System.out.println("arr lenght:"+arr.length);
}

## The elements of the array are added ：

When you know the basics of arrays , We need to add in the array 、 Delete 、 Insert 、 Work hard on the inquiry ;

public static void main(String[] args) {
// Solve the problem of immutable array length
int[] arr = {9,8,7};
// Quick view of elements in an array
System.out.println(Arrays.toString(arr));
// The elements to be added
int dst = 6;
// Create a new array , The length is the length of the original array +1
int[] newArr = new int[arr.length+1];
// Add all the data in the original array to the new array
for(int i=0;i<arr.length;i++){
newArr[i] = arr[i];
}
System.out.println(Arrays.toString(newArr));
// Put the target element at the end of the new array
newArr[arr.length] = dst;
// The new array replaces the original array
arr = newArr;
System.out.println(Arrays.toString(arr));
}

## Array element deletion ：

public static void main(String[] args) {
// Target array
int[] arr = {9,8,7,6,5,4};
// To remove the subscript of an array
int dst = 0;
System.out.println(Arrays.toString(arr));
// Create a new array , The length is the original array length -1
int[] newarr = new int[arr.length-1];
// Assign values to elements other than the one to be deleted from the original array
for(int i=0;i<newarr.length;i++){
// The element before the element to be deleted
if(i<dst){
newarr[i] = arr[i];
}else{
// The element after the element to be deleted
newarr[i] = arr[i+1];
}
}
// New array replaces old array
arr = newarr;
System.out.println(Arrays.toString(arr));
}

## The elements of an array are inserted ：

public static void main(String[] args) {
// Target array
int[] arr = {1,3,2,4,5,8};
System.out.println(Arrays.toString(arr));
// The location where the element needs to be inserted
int dst = 2;
// Insert new elements
int data = 99;
// New array
int[] newarr = new int [arr.length+1];
for (int i=0;i<arr.length;i++){
if (i <dst){
newarr[i] = arr[i];
}else{
newarr[i+1] = arr[i];
}
}
newarr[dst] = data;
arr = newarr;
System.out.println(Arrays.toString(arr));
}

The above examples are not explained too much , If there is Java Basic words , It's easy to understand ;

For the above knowledge , We implement a simple version of the addition, deletion, modification and query ;

## Array upgrade ：

#### Constructor part ：

import java.util.Arrays;
public class MyArray {
private int[] array;
// Initialize array
public MyArray() {
array = new int[0];
}
// Get array length method
public int getLength(){
return array.length;
}
// Look at the array information
public void show(){
System.out.println(Arrays.toString(array));
}
// Add data to the end of the array
public void add(int data){
// Apply for a new array , The length is longer than the original array length +1
int[] newarr = new int[array.length+1];
// Save all the data in the original array to the new array
for(int i=0;i<array.length;i++){
newarr[i] = array[i];
}
// Add the added data to the end of the new array , The length of the original array is just the position of the last data
newarr[array.length] = data;
array = newarr;
}
// Find element subscripts in an array
public int search(int data){
int index=-1;
for (int i=0;i<array.length;i++){
if(array[i]==data){
index=i;
}
}
return index;
}
// Delete the data in the array
public void delete(int data){
int index=search(data);
// Check if the array has data
if(index<0 || index>array.length-1){
throw new RuntimeException(" The subscript crossing the line ！");
}
// Apply for a new array
int[] newarr = new int[array.length-1];
for (int i=0;i<newarr.length;i++){
if (i<index){
newarr[i] = array[i];
}else{
// Want to delete the element after the element
newarr[i] = array[i+1];
}
}
// New array replaces old array
array = newarr;
}
public void insert(int index,int data){
int[] newarr = new int[array.length+1];
// Put the elements in the original array into the new array
for (int i=0;i<array.length;i++){
// Put the element before the subscript into a new array
if (i<index){
newarr[i] = array[i];
}else{
// Put the elements inserted after the subscript into a new array , You need to leave a place before you put it
newarr[i+1] = array[i];
}
}
// Insert new elements
newarr[index] = data;
// The new array replaces the old array
array = newarr;
}
// Replacement elements
public void set(int index,int data){
if(index<0 || index >array.length){
throw new RuntimeException(" The subscript crossing the line !");
}
array[index-1] = data;
}
}

#### Test function section ：

public class TestMyarray {
public static void main(String[] args) {
// Instantiate array objects
MyArray ma = new MyArray();
// Add data to the end of the array
// Show the elements in the array
ma.show();
// Displays the subscript of the lookup element
// System.out.println(ma.search(4));
// Displays the current array size
System.out.println(ma.getLength());
// Delete operation
ma.delete(2);
ma.show();
// The insert
ma.insert(0,4);
ma.insert(2,42);
ma.show();
// Replace the element at the specified location
ma.set(4,33);
ma.show();
}
}

## end ：

Make a little progress every day , I hope you have something to gain .....

https://javamana.com/2021/01/20210121120754006Z.html