現在。C#の勉強中です。
まったくの未経験から練習問題を問いているのですが、
並び替えで行き詰まってしまいました。

以下のコードで、

1.男のみのlist作成
2.女のみのlist作成
3.それぞれのlistのA〜Hを昇順に並べる

という処理を実装したいのですが、
ネットで調べたのですが、
どういう方法があるのかわかりません。
ご教授いただけないでしょうか。

class Person
    {
        public string Name;
        public string Gender;
        public Person(string name, string gender)
        {
            this.Name = name;
            this.Gender = gender;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            List<string> list = new List<string>();
            list.Add("E 女");
            list.Add("F 女");
            list.Add("G 男");
            list.Add("H 男");
            list.Add("A 女");
            list.Add("B 男");
            list.Add("C 女");
            list.Add("D 男");

            List<Person> People = new List<Person>();

            foreach (string s1 in list)
            {
                string[] splitdata = s1.Split(' ');
                People.Add(new Person(splitdata[0], splitdata[1]));
            }


            foreach (Person a in People)
            {
                Console.WriteLine("{0} {1}", a.Name, a.Gender);
            }
        }
    }

尚、並び替えはLINQを使わず、
出来るだけ、繰り返しや、分岐処理を使い、
並び替えたいのです。