Sorting string values without using any method/function

Solution 1:

You need to implement a sorting algorithm.

A very simple algorithm you can implement is the insertion sort:

string[] names = { "Flag", "Nest", "Cup", "Burg", "Yatch", "Next" };

for (int i = 0; i < names.Length; i++)
{
    var x = names[i];
    var j = i;
    while(j > 0 && names[j-1].CompareTo(x) > 0)
    {
        names[j] = names[j-1];
        j = j-1;
    }
    names[j] = x;
}

Solution 2:

        int temp = 0;
        int[] arr = new int[] { 20, 65, 98, 71, 64, 11, 2, 80, 5, 6, 100, 50, 13, 9, 80, 454 };
        for (int i = 0; i < arr.Length; i++)
        {
            for (int j = i + 1; j < arr.Length; j++)
            {
                if (arr[i] > arr[j])
                {
                    temp = arr[j];
                    arr[j] = arr[i];
                    arr[i] = temp;
                }
            }
            Console.WriteLine(arr[i]);
        }
        Console.ReadKey();

Solution 3:

string[] names = { "Flag", "Next", "Cup", "Burg", "Yatch", "Nest" };
        string name = string.Empty;
        Console.WriteLine("Sorted Strings : ");

        for (int i = 0; i < names.Length; i++)
        {
            int c = 0;
            for (int j = 1; j < names.Length; j++)
            {
                if (j > i)
                {
                 Sort:
                    if (names[i][c] != names[j][c])
                    {
                        if (names[i][c] > names[j][c])
                        {
                            name = names[i];
                            names[i] = names[j];
                            names[j] = name;
                        }
                    }
                    else
                    {
                        c = c + 1;
                        goto Sort;
                    }                        
                }
            }
            Console.WriteLine(names[i]);
        }

Solution 4:

I you were conflicting in length of names array and comparing string. Below is the working solution . I have tested it it's working now

static void Main(string[] args)
        {
            int min=0;

            string[] names = { "Flag", "Nest", "Cup", "Burg", "Yatch", "Next" };
            string name = string.Empty;
            Console.WriteLine("Sorted Strings : ");

            for (int i = 0; i < names.Length-1; i++)
            {
                for (int j = i + 1; j < names.Length;j++ )
                {

                    if(names[i].Length < names[j].Length)
                           min =names[i].Length;
                    else
                            min =names[j].Length;
                    for(int k=0; k<min;k++)
                    {
                        if (names[i][k] > names[j][k])
                        {
                            name = names[i].ToString();
                            names[i] = names[j];
                            names[j] = name;
                            break;
                        }
                        else if(names[i][k] == names[j][k])
                        {
                            continue;
                        }
                        else
                        {
                            break;
                        }

                    }
                }


            }
            for(int i= 0;i<names.Length;i++)
            {
                Console.WriteLine(names[i]);
                Console.ReadLine();
            }
        }
    }