# Numpy - Sort elements of a large array using For loop and Optimization

## NumPy: Performance Optimization Exercise-15 with Solution

Write a NumPy program that creates a large NumPy array and write a function to sort its elements using a for loop. Optimize it using NumPy's sort() function.

**Sample Solution:**

**Python Code:**

```
import numpy as np
# Generate a large 1D NumPy array with random integers
large_array = np.random.randint(1, 10000, size=10000)
# Function to sort the array using a for loop (bubble sort for simplicity)
def sort_with_loop(arr):
arr_copy = arr.copy()
n = len(arr_copy)
for i in range(n):
for j in range(0, n-i-1):
if arr_copy[j] > arr_copy[j+1]:
arr_copy[j], arr_copy[j+1] = arr_copy[j+1], arr_copy[j]
return arr_copy
# Sort the array using the for loop method
sorted_with_loop = sort_with_loop(large_array)
# Sort the array using NumPy's built-in sort() function
sorted_with_numpy = np.sort(large_array)
# Display first 10 sorted elements to verify
print("First 10 sorted elements using for loop:")
print(sorted_with_loop[:10])
print("First 10 sorted elements using NumPy:")
print(sorted_with_numpy[:10])
```

Output:

First 10 sorted elements using for loop: [ 1 1 1 2 2 3 6 10 10 10] First 10 sorted elements using NumPy: [ 1 1 1 2 2 3 6 10 10 10]

**Explanation:**

- Importing numpy: We first import the numpy library for array manipulations.
- Generating a large array: A large 1D NumPy array with random integers is generated.
- Defining the function: A function sort_with_loop is defined to sort the array using a for loop (bubble sort is used for simplicity).
- Sorting with loop: The array is sorted using the for loop method.
- Sorting with numpy: The array is sorted using NumPy's built-in sort() function.
- Displaying results: The first 10 sorted elements from both methods are printed out to verify correctness.

**Python-Numpy Code Editor:**

**Have another way to solve this solution? Contribute your code (and comments) through Disqus.**

**Previous:** Numpy - Compute column-wise Mean of large 2D array using For loop and Optimization.

**Next:** Numpy - Calculate outer product of two large arrays using For loops and Optimization.

**What is the difficulty level of this exercise?**

Test your Programming skills with w3resource's quiz.

**Weekly Trends and Language Statistics**- Weekly Trends and Language Statistics