Question

3. Modify the insertion sort algorithm discussed in class so that it can sort strings. That is, its input will be an array, the type of which is string. The insertion sort algorithm will sort the elements in this array. Finally, its output will be a sorted array.

As the solution of this problem, you need to submit the following answer(s): (1). The implementation of your algorithm in C# (20points).

Algorithm: At each array-position, it checks the value there against the largest value in the sorted list (which happens to bInsertion sort Implementation in C# int inner, for int outer temp; 1; outer <= upper; outer++) temp arr[outer]; inner = outerInsertion sort Implementation in C# (continued) The outer loop moves element by element through the array |The inner loop com10 N NNNI 0 CONNI GO GON NMNNN: NNN ON INNNEN NNN EN L555 C5 LO4545 75 MM8 m MMMUM Nטלפ me

Algorithm: At each array-position, it checks the value there against the largest value in the sorted list (which happens to be next to it, in the previous array-position checked) If larger, it leaves the element in place and moves to the next. If smaller, it finds the correct position within the sorted list, shifts all the larger values up to make a space, and inserts into that correct position
Insertion sort Implementation in C# int inner, for int outer temp; 1; outer
0 0
Add a comment Improve this question Transcribed image text
Answer #1

CODE:

using System.IO;
using System;

class Program
{
    static void Main()
    {
        // create an array of strings
        string [] a = {"Arka","tapas","jonas","Henry"};
        // print the array
        Console.WriteLine("Before Sorting: ");
        foreach(var i in a)
            Console.Write(i + "\t");
        Console.WriteLine();
        // call insertion sort method
        InsertionSort(a);
        Console.WriteLine("\nAfter Sorting: ");
        // printing the array after sorting
        foreach(var i in a)
            Console.Write(i + "\t");
        Console.WriteLine();
    }
    static void InsertionSort(IComparable[] a)
    {
        int i,j;
        // outer loop
        for(i=1;i<a.Length;i++)
        {
            IComparable val = a[i];
            j = i-1;
            // inner loop
            while((j>=0)&&(a[j].CompareTo(val)>0))
            {
                a[j+1]=a[j];
                j--;
            }
            a[j+1]=val;
          
          
        }
    }
}

OUTPUT:

I Result Şmcs.cs -out:main.ex e Şmono main.exe Before Sorting: Arka jonas tapas Henry After Sorting: jonas Arka Henry tapas

Add a comment
Know the answer?
Add Answer to:
3. Modify the insertion sort algorithm discussed in class so that it can sort strings. That...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • Modify the sorts (selection sort, insertion sort, bubble sort, quick sort, and merge sort) by adding code to each to tally the total number of comparisons and total execution time of each algorithm. E...

    Modify the sorts (selection sort, insertion sort, bubble sort, quick sort, and merge sort) by adding code to each to tally the total number of comparisons and total execution time of each algorithm. Execute the sort algorithms against the same list, recording information for the total number of comparisons and total execution time for each algorithm. Try several different lists, including at least one that is already in sorted order. ---------------------------------------------------------------------------------------------------------------- /** * Sorting demonstrates sorting and searching on an...

  • (15 points) Consider the algorithm for insertion sort shown below. The input to this algorithm is...

    (15 points) Consider the algorithm for insertion sort shown below. The input to this algorithm is an earray A. You must assume that indexing begins at 1. 1: for j = 2: A.length do key = A i=j-1 while i > 0 and A[i] > key do Ali + 1] = Ai i=i-1 7: A[i+1] = key (a) Follow this algorithm for A[1..4) =< 7,9,6,8 >. Specifically, please indicate the contents of the array after each iteration of the outer...

  • // ArrayIns.java // demonstrates insertion sort 11--- class ArrayIns private long[] a; private int nElems; //...

    // ArrayIns.java // demonstrates insertion sort 11--- class ArrayIns private long[] a; private int nElems; // ref to array a // number of data items public ArrayIns(int max) // constructor a = new long[max]; nElems - © // create the array // no items yet --- public void insert(long value) // put element into array a[nElems] = value; nElems++; // insert it // increment size public void display() // displays array contents for(int j=0; j<ntlems; 1++) 1/ for each element,...

  • Implement the bubble sort algorithm described here: While the array is not sorted For each adjacent...

    Implement the bubble sort algorithm described here: While the array is not sorted For each adjacent pair of elements If the pair is not sorted Swap the elements Use the BubbleSorter class to fill in the code and make it run with the BubbleSorterDemo class. BubbleSorter.java public class BubbleSorter {    /** Sort an integer array using the bubble sort algorithm. @param arr array of integers to sort    */    public static void sort(int[] arr)    { // Your...

  • Recall the insertion sort algorithm as discussed in this chapter. Assume the following list of keys:...

    Recall the insertion sort algorithm as discussed in this chapter. Assume the following list of keys: 30, 20, 35, 27, 96, 82, 60, 48, 75, 5, 80 Exactly how many key comparisons are executed to sort this list using insertion sort? Show the values and the number of comparisons after each iteration for the loop.

  • JAVA Objectives: 1. Apply linear search algorithm 2. Apply select sort algorithm 3. Apply array iteration...

    JAVA Objectives: 1. Apply linear search algorithm 2. Apply select sort algorithm 3. Apply array iteration skill Problem description: Write the following eight methods and write a main function to test these methods // return the index of the first occurrence of key in arr // if key is not found in arra, return -1 public static int linearSearch(int arr[], int key) // sort the arr from least to largest by using select sort algorithm public stati void selectSort(int arr[])...

  • Another simple sort is the odd-even sort. The idea is to repeatedly make two passes through the a...

    Another simple sort is the odd-even sort. The idea is to repeatedly make two passes through the array. On the first pass you look at all the pairs of items, a[j] and a[j+1], where j is odd (j = 1, 3, 5, …). If their key values are out of order, you swap them. On the second pass you do the same for all the even values (j = 2, 4, 6, …). You do these two passes repeatedly until...

  • I want to compare the runtimes and swap operations times among quick Sort, selection Sort and...

    I want to compare the runtimes and swap operations times among quick Sort, selection Sort and shell Sort here is my code: But when I create a 1000,000 size array, I can't get the result of the operations times and runtime. what's wrong with my code? and I also want to copy the array. Because I want to use same array for three sort. And for the shell Sort, I haven't learn it in my class. Can anyone help me...

  • I need to program 3 and add to program 2 bellows: Add the merge sort and...

    I need to program 3 and add to program 2 bellows: Add the merge sort and quick sort to program 2 and do the same timings, now with all 5 sorts and a 100,000 element array. Display the timing results from the sorts. DO NOT display the array. ____________________>>>>>>>>>>>>>>>>>>>>___________________________ (This is program 2 code that I did : ) ---->>>>>> code bellow from program 2 java program - Algorithms Write a program that randomly generates 100,000 integers into an array....

  • Bubble sort is a popular, but inefficient, sorting algorithm. It works by repeatedly swapping adjacent elements...

    Bubble sort is a popular, but inefficient, sorting algorithm. It works by repeatedly swapping adjacent elements that out of order. BUBBLESORT(A) 1. for i = 1 to A.length – 1 2. for j = i + 1 to A.length 3. if A[j] < A[i] 4. exchange A[j] with A[i] a) A loop invariant for the outer for loop in lines 1 – 4 is: At iteration i, the sub-array A[1..i] is sorted and any element in A[i+1..A.size] is greater or...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT