Witam :)

Mam problem z następującym zadaniem:
Do dataGrindView wczytuje tablice 3 z pliku .csv (10) elementów kazda(moze być wiecej tablic)
za pomocą przycisku chciałabym ją posortować metodą bąbelkową , stworzyłam dodatkową biblioteke dll w C++ w której zawarty jest kod owego sortowania . Kombinuje juz nad tym do dłuższego czasu i niewiem cos zaczyna działać , to coś innego przestaje oto co mam.
Fragmenty kodu:

 private static List<string[]> ReadAndtParseData(string path, char separator)
        {
            var parsedData = new List<string[]>();
            using (var sr = new StreamReader(path))
            {
                string line;
                while ((line = sr.ReadLine()) != null)
                {
                  string[] row = line.Split(separator);
                 parsedData.Add(row);

                }

            }
            return parsedData;
        }

        private void DrawDataGridView1(List<string[]> parsedData)
        {
            dataGridView1.ColumnCount = 10;
            for (int i = 0; i < 10; i++)
            {
                var sb = new StringBuilder(parsedData[0][i]);

            }
            foreach (string[] row in parsedData)
            {
                dataGridView1.Rows.Add(row);

            }

Przycisk sortujący:

private void button1_Click(object sender, EventArgs e)
        {

            FunkcjeC funkcjeC = new FunkcjeC();
            int [] wynik;
            int x = System.Int32.Parse(textBox1.Text);

            {
                if (radioButton1.Checked)
                {
                    for (int i = 0; i<tab.Length; i++){
                        FunkcjeC.babelkoweC(tab[i], tab[i].Length);

                    }
                }

            }

            for (int j = 0; j < x; j++)
           {
                for (int i = 0; i < 11; i++)
               {
                   dataGridView1.Rows.Add(tab[j][10].ToString());

               }

           }

Przycisk ładujący tablice:

private void button2_Click(object sender, EventArgs e)
        {

                List<string[]> parsedData = ReadAndtParseData(@"D:/../../Tab1.csv", ',');

                DrawDataGridView1(parsedData);
            }

Biblioteka

void zamien (int &a, int &b)
{
     int temp=a;
     a=b;
     b=temp;
     }

void babelkoweC(int tab[], int n)
{
     int temp;
     for (int j=n-1; j>0; j--)
     {
         for (int i=0; i<j; i++)
         if (tab [i]>tab[i+1])
         zamien (tab [i], tab[i+1]);
     };

     }

Wywołanie w C# biblioteki

namespace GUI
{
   unsafe class FunkcjeC
    {
       [DllImport("bibliotekaC.dll", CallingConvention = CallingConvention.Cdecl)]
        internal static extern void babelkoweC(int [] tab,int n); 
     }
}

Ktoś moze pomóc ? Jak mam wykonać to sortowanie