在未排序的数组中搜索、插入和删除

本文将讨论未排序数组中的搜索、插入和删除操作。

null

搜索操作

在未排序的数组中,可以通过从第一个元素到最后一个元素的线性遍历来执行搜索操作。

图片[1]-在未排序的数组中搜索、插入和删除-yiteyi-C++库

C++

// C++ program to implement linear
// search in unsorted array
#include<bits/stdc++.h>
using namespace std;
// Function to implement search operation
int findElement( int arr[], int n,
int key)
{
int i;
for (i = 0; i < n; i++)
if (arr[i] == key)
return i;
return -1;
}
// Driver Code
int main()
{
int arr[] = {12, 34, 10, 6, 40};
int n = sizeof (arr) / sizeof (arr[0]);
// Using a last element as search element
int key = 40;
int position = findElement(arr, n, key);
if (position == - 1)
cout << "Element not found" ;
else
cout << "Element Found at Position: "
<< position + 1;
return 0;
}
// This code is contributed
// by Akanksha Rai


C

// C program to implement linear
// search in unsorted array
#include<stdio.h>
// Function to implement search operation
int findElement( int arr[], int n,
int key)
{
int i;
for (i = 0; i < n; i++)
if (arr[i] == key)
return i;
return -1;
}
// Driver Code
int main()
{
int arr[] = {12, 34, 10, 6, 40};
int n = sizeof (arr) / sizeof (arr[0]);
// Using a last element as search element
int key = 40;
int position = findElement(arr, n, key);
if (position == - 1)
printf ( "Element not found" );
else
printf ( "Element Found at Position: %d" , position + 1 );
return 0;
}


JAVA

// Java program to implement linear
// search in unsorted arrays
class Main
{
// Function to implement
// search operation
static int findElement( int arr[], int n,
int key)
{
for ( int i = 0 ; i < n; i++)
if (arr[i] == key)
return i;
return - 1 ;
}
// Driver Code
public static void main(String args[])
{
int arr[] = { 12 , 34 , 10 , 6 , 40 };
int n = arr.length;
// Using a last element as search element
int key = 40 ;
int position = findElement(arr, n, key);
if (position == - 1 )
System.out.println( "Element not found" );
else
System.out.println( "Element Found at Position: "
+ (position + 1 ));
}
}


Python3

# Python program for searching in
# unsorted array
def findElement(arr, n, key):
for i in range (n):
if (arr[i] = = key):
return i
return - 1
arr = [ 12 , 34 , 10 , 6 , 40 ]
key = 40
n = len (arr)
#search operation
index = findElement(arr, n, key)
if index ! = - 1 :
print ( "element found at position: " + str (index + 1 ))
else :
print ( "element not found" )
# Thanks to Aditi Sharma for contributing
# this code


C#

// C# program to implement linear
// search in unsorted arrays
using System;
class main
{
// Function to implement
// search operation
static int findElement( int []arr, int n,
int key)
{
for ( int i = 0; i < n; i++)
if (arr[i] == key)
return i;
return -1;
}
// Driver Code
public static void Main()
{
int []arr = {12, 34, 10, 6, 40};
int n = arr.Length;
// Using a last element as
// search element
int key =40;
int position = findElement(arr,n,key);
if (position == - 1)
Console.WriteLine( "Element not found" );
else
Console.WriteLine( "Element Found at Position: "
+ (position+1));
}
}
//  This code is contributed by vt_m.


PHP

<?php
// PHP program to implement linear
// search in unsorted array
// Function to implement
// search operation
function findElement( $arr , $n , $key )
{
$i ;
for ( $i = 0; $i < $n ; $i ++)
if ( $arr [ $i ] == $key )
return $i ;
return -1;
}
// Driver Code
$arr = array (12, 34, 10, 6, 40);
$n = sizeof( $arr );
// Using a last element
// as search element
$key = 40;
$position = findElement( $arr , $n , $key );
if ( $position == - 1)
echo ( "Element not found" );
else
echo ( "Element Found at Position: " . ( $position + 1));
// This code is contributed by Ajit.
?>


Javascript

<script>
// Javascript program to implement linear
// search in unsorted array
// Function to implement search operation
function findElement( arr, n, key)
{
let i;
for (i = 0; i < n; i++)
if (arr[i] == key)
return i;
return -1;
}
// Driver program
let arr = [12, 34, 10, 6, 40];
let n = arr.length;
// Using a last element as search element
let key = 40;
let position = findElement(arr, n, key);
if (position == - 1)
document.write( "Element not found" );
else
document.write( "Element Found at Position: "
+ (position + 1));
</script>


输出:

Element Found at Position: 5

在末尾插入

在未排序的数组中,插入操作比排序数组更快,因为我们不必关心元素的放置位置。

图片[2]-在未排序的数组中搜索、插入和删除-yiteyi-C++库

C++

// C++ program to implement insert
// operation in an unsorted array.
#include <iostream>
using namespace std;
// Inserts a key in arr[] of given capacity.
// n is current size of arr[]. This
// function returns n + 1 if insertion
// is successful, else n.
int insertSorted( int arr[], int n,
int key,
int capacity)
{
// Cannot insert more elements if n is
// already more than or equal to capacity
if (n >= capacity)
return n;
arr[n] = key;
return (n + 1);
}
// Driver Code
int main()
{
int arr[20] = {12, 16, 20, 40, 50, 70};
int capacity = sizeof (arr) / sizeof (arr[0]);
int n = 6;
int i, key = 26;
cout << " Before Insertion: " ;
for (i = 0; i < n; i++)
cout << arr[i]<< " " ;
// Inserting key
n = insertSorted(arr, n, key, capacity);
cout << " After Insertion: " ;
for (i = 0; i < n; i++)
cout << arr[i] << " " ;
return 0;
}
// This code is contributed by SHUBHAMSINGH10


C

// C program to implement insert
// operation in an unsorted array.
#include<stdio.h>
// Inserts a key in arr[] of given capacity.
// n is current size of arr[]. This
// function returns n + 1 if insertion
// is successful, else n.
int insertSorted( int arr[], int n,
int key,
int capacity)
{
// Cannot insert more elements if n is
// already more than or equal to capacity
if (n >= capacity)
return n;
arr[n] = key;
return (n + 1);
}
// Driver Code
int main()
{
int arr[20] = {12, 16, 20, 40, 50, 70};
int capacity = sizeof (arr) / sizeof (arr[0]);
int n = 6;
int i, key = 26;
printf ( " Before Insertion: " );
for (i = 0; i < n; i++)
printf ( "%d  " , arr[i]);
// Inserting key
n = insertSorted(arr, n, key, capacity);
printf ( " After Insertion: " );
for (i = 0; i < n; i++)
printf ( "%d  " ,arr[i]);
return 0;
}


JAVA

// Java program to implement insert
// operation in an unsorted array.
class Main
{
// Function to insert a given key in
// the array. This function returns n+1
// if insertion is successful, else n.
static int insertSorted( int arr[], int n,
int key,
int capacity)
{
// Cannot insert more elements if n
// is already more than or equal to
// capacity
if (n >= capacity)
return n;
arr[n] = key;
return (n + 1 );
}
// Driver Code
public static void main (String[] args)
{
int [] arr = new int [ 20 ];
arr[ 0 ] = 12 ;
arr[ 1 ] = 16 ;
arr[ 2 ] = 20 ;
arr[ 3 ] = 40 ;
arr[ 4 ] = 50 ;
arr[ 5 ] = 70 ;
int capacity = 20 ;
int n = 6 ;
int i, key = 26 ;
System.out.print( "Before Insertion: " );
for (i = 0 ; i < n; i++)
System.out.print(arr[i]+ " " );
// Inserting key
n = insertSorted(arr, n, key, capacity);
System.out.print( " After Insertion: " );
for (i = 0 ; i < n; i++)
System.out.print(arr[i]+ " " );
}
}


Python3

# Python program for inserting
# an element in an unsorted array
# method to insert element
def insert(arr, element):
arr.append(element)
# declaring array and key to insert
arr = [ 12 , 16 , 20 , 40 , 50 , 70 ]
key = 26
# array before inserting an element
print ( "Before Inserting: " )
print (arr)
# array after Inserting element
insert(arr, key)
print ( "After Inserting: " )
print (arr)
# Thanks to Aditi Sharma for contributing
# this code


C#

// C# program to implement insert
// operation in an unsorted array.
using System;
class main
{
// Function to insert a given
// key in the array. This
// function  returns n + 1
// if insertion is successful,
// else n.
static int insertSorted( int []arr, int n,
int key,
int capacity)
{
// Cannot insert more elements
// if n is already more than
// or equal to capacity
if (n >= capacity)
return n;
arr[n] = key;
return (n + 1);
}
// Driver Code
public static void Main ()
{
int [] arr = new int [20];
arr[0] = 12;
arr[1] = 16;
arr[2] = 20;
arr[3] = 40;
arr[4] = 50;
arr[5] = 70;
int capacity = 20;
int n = 6;
int i, key = 26;
Console.Write( "Before Insertion: " );
for (i = 0; i < n; i++)
Console.Write(arr[i]+ " " );
Console.WriteLine();
// Inserting key
n = insertSorted(arr, n, key, capacity);
Console.Write( "After Insertion: " );
for (i = 0; i < n; i++)
Console.Write(arr[i]+ " " );
}
}
// This code is contributed by vt_m.


PHP

<?php
// PHP program to implement insert
// operation in an unsorted array.
// Inserts a key in arr[] of given
// capacity. n is current size of arr[].
// This function returns n + 1 if
// insertion is successful, else n.
function insertSorted(& $arr , $n , $key ,
$capacity )
{
// Cannot insert more elements if n is
// already more than or equal to capacity
if ( $n >= $capacity )
return $n ;
array_push ( $arr , $key );
return ( $n + 1);
}
// Driver Code
$arr = array (12, 16, 20, 40, 50, 70);
$capacity = 20;
$n = 6;
$key = 26;
echo "Before Insertion: " ;
for ( $i = 0; $i < $n ; $i ++)
echo $arr [ $i ] . " " ;
// Inserting key
$n = insertSorted( $arr , $n ,
$key , $capacity );
echo "After Insertion: " ;
for ( $i = 0; $i < $n ; $i ++)
echo $arr [ $i ] . " " ;
// This code is contributed by
// Rajput-Ji
?>


Javascript

<script>
// Javascript program to implement insert
// operation in an unsorted array.
// Function to insert a given
// key in the array. This
// function  returns n + 1
// if insertion is successful,
// else n.
function insertSorted(arr, n, key, capacity)
{
// Cannot insert more elements
// if n is already more than
// or equal to capacity
if (n >= capacity)
return n;
arr[n] = key;
return (n + 1);
}
let arr = new Array(20);
arr[0] = 12;
arr[1] = 16;
arr[2] = 20;
arr[3] = 40;
arr[4] = 50;
arr[5] = 70;
let capacity = 20;
let n = 6;
let i, key = 26;
document.write( "Before Insertion: " );
for (i = 0; i < n; i++)
document.write(arr[i]+ " " );
document.write( "</br>" );
// Inserting key
n = insertSorted(arr, n, key, capacity);
document.write( "After Insertion: " );
for (i = 0; i < n; i++)
document.write(arr[i]+ " " );
</script>


输出:

Before Insertion: 12 16 20 40 50 70 After Insertion: 12 16 20 40 50 70 26 

删除操作

在删除操作中,使用 线性搜索 ,然后执行删除操作,然后移动元素。

图片[3]-在未排序的数组中搜索、插入和删除-yiteyi-C++库

C++

// C++ program to implement delete operation in a
// unsorted array
#include <iostream>
using namespace std;
// To search a key to be deleted
int findElement( int arr[], int n,
int key);
// Function to delete an element
int deleteElement( int arr[], int n,
int key)
{
// Find position of element to be deleted
int pos = findElement(arr, n, key);
if (pos == - 1)
{
cout << "Element not found" ;
return n;
}
// Deleting element
int i;
for (i = pos; i < n - 1; i++)
arr[i] = arr[i + 1];
return n - 1;
}
// Function to implement search operation
int findElement( int arr[], int n, int key)
{
int i;
for (i = 0; i < n; i++)
if (arr[i] == key)
return i;
return - 1;
}
// Driver code
int main()
{
int i;
int arr[] = {10, 50, 30, 40, 20};
int n = sizeof (arr) / sizeof (arr[0]);
int key = 30;
cout << "Array before deletion" ;
for (i = 0; i < n; i++)
cout << arr[i] << " " ;
n = deleteElement(arr, n, key);
cout << "Array after deletion" ;
for (i = 0; i < n; i++)
cout << arr[i] << " " ;
return 0;
}
// This code is contributed by shubhamsingh10


C

// C program to implement delete operation in a
// unsorted array
#include<stdio.h>
// To search a key to be deleted
int findElement( int arr[], int n,
int key);
// Function to delete an element
int deleteElement( int arr[], int n,
int key)
{
// Find position of element to be deleted
int pos = findElement(arr, n, key);
if (pos == - 1)
{
printf ( "Element not found" );
return n;
}
// Deleting element
int i;
for (i = pos; i < n - 1; i++)
arr[i] = arr[i + 1];
return n - 1;
}
// Function to implement search operation
int findElement( int arr[], int n, int key)
{
int i;
for (i = 0; i < n; i++)
if (arr[i] == key)
return i;
return - 1;
}
// Driver code
int main()
{
int i;
int arr[] = {10, 50, 30, 40, 20};
int n = sizeof (arr) / sizeof (arr[0]);
int key = 30;
printf ( "Array before deletion" );
for (i = 0; i < n; i++)
printf ( "%d  " , arr[i]);
n = deleteElement(arr, n, key);
printf ( "Array after deletion" );
for (i = 0; i < n; i++)
printf ( "%d  " , arr[i]);
return 0;
}


JAVA

// Java program to implement delete
// operation in an unsorted array
class Main
{
// function to search a key to
// be deleted
static int findElement( int arr[], int n, int key)
{
int i;
for (i = 0 ; i < n; i++)
if (arr[i] == key)
return i;
return - 1 ;
}
// Function to delete an element
static int deleteElement( int arr[], int n, int key)
{
// Find position of element to be
// deleted
int pos = findElement(arr, n, key);
if (pos == - 1 )
{
System.out.println( "Element not found" );
return n;
}
// Deleting element
int i;
for (i = pos; i< n - 1 ; i++)
arr[i] = arr[i + 1 ];
return n - 1 ;
}
// Driver Code
public static void main(String args[])
{
int i;
int arr[] = { 10 , 50 , 30 , 40 , 20 };
int n = arr.length;
int key = 30 ;
System.out.println( "Array before deletion" );
for (i= 0 ; i<n; i++)
System.out.print(arr[i] + " " );
n = deleteElement(arr, n, key);
System.out.println( "Array after deletion" );
for (i= 0 ; i<n; i++)
System.out.print(arr[i]+ " " );
}
}


Python3

# Python program to delete an element
# from an unsorted array
# Declaring array and key to delete
arr = [ 10 , 50 , 30 , 40 , 20 ]
key = 30
print ( "Array before deletion:" )
print (arr)
# deletes key if found in the array
# otherwise shows error not in list
arr.remove(key)
print ( "Array after deletion" )
print (arr)
# This code is contributed by Aditi Sharma.


C#

// C# program to implement delete
// operation in an unsorted array
using System;
class main
{
// Function to search a
// key to be deleted
static int findElement( int []arr,
int n,
int key)
{
int i;
for (i = 0; i < n; i++)
if (arr[i] == key)
return i;
return -1;
}
// Function to delete an element
static int deleteElement( int []arr,
int n,
int key)
{
// Find position of element
// to be deleted
int pos = findElement(arr, n, key);
if (pos == - 1)
{
Console.WriteLine( "Element not found" );
return n;
}
// Deleting element
int i;
for (i = pos; i < n - 1; i++)
arr[i] = arr[i + 1];
return n - 1;
}
// Driver Code
public static void Main()
{
int i;
int []arr = {10, 50, 30, 40, 20};
int n = arr.Length;
int key = 30;
Console.Write( "Array before deletion " );
for (i = 0; i < n; i++)
Console.Write(arr[i] + " " );
Console.WriteLine();
n = deleteElement(arr, n, key);
Console.Write( "Array after deletion " );
for (i = 0; i < n; i++)
Console.Write(arr[i]+ " " );
}
}
// This code is contributed by vt_m.


PHP

<?php
// PHP program to implement delete
// operation in an unsorted array
// To search a key to be deleted
function findElement(& $arr , $n , $key )
{
for ( $i = 0; $i < $n ; $i ++)
if ( $arr [ $i ] == $key )
return $i ;
return -1;
}
// Function to delete an element
function deleteElement(& $arr , $n , $key )
{
// Find position of element to
// be deleted
$pos = findElement( $arr , $n , $key );
if ( $pos == -1)
{
echo "Element not found" ;
return $n ;
}
// Deleting element
for ( $i = $pos ; $i < $n - 1; $i ++)
$arr [ $i ] = $arr [ $i + 1];
return $n - 1;
}
// Driver code
$arr = array (10, 50, 30, 40, 20);
$n = count ( $arr );
$key = 30;
echo "Array before deletion" ;
for ( $i = 0; $i < $n ; $i ++)
echo $arr [ $i ] . " " ;
$n = deleteElement( $arr , $n , $key );
echo "Array after deletion" ;
for ( $i = 0; $i < $n ; $i ++)
echo $arr [ $i ] . " " ;
// This code is contributed by
// Rajput-Ji
?>


Javascript

<script>
// Java script program to implement delete
// operation in an unsorted array
// function to search a key to
// be deleted
function findElement(arr,n,key)
{
let i;
for (i = 0; i < n; i++)
if (arr[i] == key)
return i;
return -1;
}
// Function to delete an element
function deleteElement(arr,n,key)
{
// Find position of element to be
// deleted
let pos = findElement(arr, n, key);
if (pos == -1)
{
document.write( "Element not found" );
return n;
}
// Deleting element
let i;
for (i = pos; i< n - 1; i++)
arr[i] = arr[i + 1];
return n - 1;
}
// Driver Code
let i;
let arr = [10, 50, 30, 40, 20];
let n = arr.length;
let key = 30;
document.write( "Array before deletion<br>" );
for (i=0; i<n; i++)
document.write(arr[i] + " " );
n = deleteElement(arr, n, key);
document.write( "<br><br>Array after deletion<br>" );
for (i=0; i<n; i++)
document.write(arr[i]+ " " );
// This code is contributed by sravan kumar Gottumukkala
</script>


输出:

Array before deletion10 50 30 40 20 Array after deletion10 50 40 20 

时间复杂性: 搜索: O(n) 插入: O(1) 删除: O(n)

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享