#c
#c
Вопрос:
Является ли способ передачи 3D-массива в качестве параметра без глобальной переменной для функции C ? Я хочу ввести размер после запуска
int partition(int *a[size][size],int l,int r )
{
int pivot=l;
while(l<r)
{
while(a[pivot][0][0]>=a[l][0][0]) { l ;}
while(a[pivot][0][0]<a[r][0][0]){r ;}
if(l<r){std::swap(a[l][0][0],a[r][0][0];)}
}
std::swap(a[pivot][0][0],a[r][0][0]);
return r;
}
void quick_sort(int *a,int l,int r)
{
if(l<r)
{
int pivot=partition(a,l,r);
quick_sort(a,l,pivot-1);
quick_sort(a,pivot 1,r);
}
}
int main()
{
int size;
std::cin>>size;
int a[size][size][size];
quick_sort(a,l,size-1);
}
Я хочу сортировать 3D-массив только по переменной X («a [x] [0] [0]»), но я нахожу ответ.Я нашел только set const .Я не могу этого сделать.
Комментарии:
1. Используйте
std::vector
.2.
std::cin>>size; int a[size][size][size];
недопустимый C , он использует непереносимое расширение VLA.3. Что мне делать @Jarod42
4. Как сказал молбднило, используйте
std::vector
. (или библиотека с матричными классами).5. Можете ли вы написать код? @Jarod42