Интересный момент для рассмотрения.
Сначала, если вы сгладите матрицу, то вы можете заметить, что
- ячейка в (0,1) (в строке 0 и столбце 1) становится ячейкой с индексом 1.
- ячейка в (1,0) становится ячейкой с индексом 5.
- В более общем смысле, ячейка (i, j) становится ячейкой при index i * row_size + j
Используя это наблюдение, вы можете go просматривать список до тех пор, пока вычисляемый индекс ячейки, которую вы хотите вставить, не станет меньше вычисленного индекса текущий элемент.
Если вы знаете, как вставить узел в определенную c позицию в связанном списке (который я рекомендую сначала попробовать, если вы этого не сделаете), то будет легко сделать мост между два.