Увод у функције матрице у Ц

Функције матрице у Ц је врста структуре података која садржи више елемената исте врсте података. Величина низа је фиксна и елементи се прикупљају на ред. Могу бити различите димензије низова и Ц програмирање не ограничава број димензија у Низу.

Различите функције низа у Ц

Постоје различите функције које се могу изводити на низовима.

1) Путовање

Прелазак матрице значи проћи кроз сваки елемент Арраи-а тачно једном. Почињемо од првог елемента и прелазимо на последњи елемент. Пример таквог програма који врши операцију преласка на линеарном пољу је дан на Ц језику.

Код

#include
void main()
(
int array() = (1, 2, 3, 4, 5);
int i, n = 5;
printf(" The array elements are: \n " );
for( i=0;i < n; i++)
(
printf(" array(%d) = %d \n ", i, array(i) );
)
)

Излаз:

2) Тражење

Операција претраживања користи се за проналажење одређеног податка или елемента у низу. Претрагу можемо извршити у несортираном низу уз помоћ прескакања поља. Линеарна пресјек од првог до посљедњег елемента може се користити за претраживање ако је у пољу Низ присутан одређени број, а може се користити и за проналажење његовог положаја ако постоји.

То се постиже упоређивањем сваког елемента са датим елементом (који се тражи). Једном када се елемент нађе, претрага се зауставља. Ево примера за приказ операције претраживања која се изводе на Арраи у Ц

Код

#include
int findElement(int arr(), int n, int key)
(
int i;
for (i = 0; i < n; i++)
if (arr(i) == key
return i;
return -1;
)
int main()
(
int arr() = (1, 4, 0, 6, 3);
int n = sizeof(arr) / sizeof(arr(0));
int key = 4;
int position = findElement(arr, n, key);
if (position == - 1)
printf("Element not found");
else
printf("Element Found at Position: %d", position + 1 );
return 0;
)

Излаз:

3) Убацивање

Операција уметања користи се за додавање новог елемента у Низ. Када одредимо одређени елемент и позицију где треба додати у Низ, изводимо операцију уметања. Међутим, величина поља се не омета током извођења ове операције. Елемент ће бити уметнут у низ само ако има довољно простора да га дода. Ако је величина низа већ пуна, нови елемент се не може додати. Пример да се покаже операција уметања у несортираном Низу у Ц.

Код

#include
int insertSorted(int arr(), int n, int key, int capacity)
(
if (n >= capacity)
return n;
arr(n) = key;
return (n + 1);
)
int main()
(
int arr(20) = (8, 5, 6, 9, 0, 7) ;
int capacity = sizeof(arr) / sizeof(arr(0));
int n = 6;
int i, key = 2;
printf("\n Before Insertion: ");
for (i = 0; i < n; i++)
printf("%d ", arr(i));
n = insertSorted(arr, n, key, capacity);
printf("\n After Insertion: ");
for (i = 0; i < n; i++)
printf("%d ", arr(i));
return 0;
)

Излаз:

4) брисање

У операцији брисања тражи се елемент који већ постоји у Низу (помоћу линеарне претраге) и брише, након чега следи померање елемената. Корисник улази у положај елемента који треба избрисати из низа. Операција брисања, баш као и операција уметања, не утиче на величину низа. Такође, позиција елемента који треба избрисати треба да буде унутар величине поља, јер брисање елемента изван величине Арраи-а није могуће. Ц програм који приказује операцију брисања у несортираном низу.

Код

#include
int findElement(int arr(), int n, int key);
int deleteElement(int arr(), int n, int key)
(
int pos = findElement(arr, n, key);
if (pos == - 1)
(
printf("Element not found");
return n;)
int i;
for (i = pos; i < n - 1; i++)
arr(i) = arr(i + 1);
return n - 1;
)
int findElement(int arr(), int n, int key)
(
int i;
for (i = 0; i < n; i++)
if (arr(i) == key)
return i;return - 1;
)
int main()
(
int i;
int arr() = (1, 5, 3, 4, 2);
int n = sizeof(arr) / sizeof(arr(0));
int key = 3;
printf("Array before deletion\n");
for (i = 0; i < n; i++)
printf("%d ", arr(i));
n = deleteElement(arr, n, key);
printf("\nArray after deletion\n");
for (i = 0; i < n; i++)
printf("%d ", arr(i));
return 0;
)

Излаз:

5) сортирање

Ова операција се изводи да би се Низ сортирао по фиксном редослиједу, тј. Било узлазним или силазним. Ево примера операције сортирања на Арраи-у на Ц-у

Код

#include
void main()
(
int i, j, a, n, number(30);
printf("Enter the value of N \n");
scanf("%d", &n);
printf("Enter the numbers \n");
for (i = 0; i < n; ++i)
scanf("%d", &number(i));
for (i = 0; i < n; ++i)
(
for (j = i + 1; j < n; ++j)
(
if (number(i) > number(j))
(
a = number(i);
number(i) = number(j);
number(j) = a;
)
)
)
printf("The numbers arranged in ascending order are given below \n");
for (i = 0; i < n; ++i)
printf("%d\n", number(i));
)

Излаз:

Различити начини сортирања низа

Испод су различите методе сортирања за Арраи:

1) Буббле Сорт

Буббле врста упоређује све елементе један по један и сортира их на основу њихових вредности. Почиње упоређивањем првог елемента и другог, ако је први елемент већи од другог елемента, заменит ће оба елемента и наставити упоређивањем другог и трећег елемента, и тако даље.

2) Избор сортирања

Основна идеја иза врсте избора је проналазак најмање елемента у несортираном низу, замјена истог са првим елементом. Затим наставите исти поступак са остатком несортираног низа, тј. Са друге позиције, затим са треће и тако даље.

3) Спајање сортирања

Овај начин сортирања заснован је на техници раздвајања и освајања. Подељује низ на два једнака подрасла и наставља се све док свака подрасла не садржи један елемент, а затим их спаја на сортирани начин што резултира сортираним низом.

4) Разврставање уметања

Код уметања започињемо с другим елементом. Елементи матрице се међусобно упоређују. Тренутни елемент (вредност која се сортира) упоређује се са свим елементима у сортираном подмарку. Помјерају се сви елементи у сортираном подграђу који су већи од тренутног елемента и убацују се тренутна вриједност. Овај се поступак понавља док се не сортира читав низ.

5) Брза врста

Куицксорт се, као и врста спајања, такође заснива на алгоритму за поделу и освајање. У овој методи, елемент се бира као окретни (обично први елемент). Затим, партиције низа се израђују око одабраног стожера, тј. Сви елементи мањи од стожера ће формирати једну потпоље и сви елементи већи од стожера ће формирати други. Поступак се понавља и са подраслемцима све док се цијели низ не сортира.

6) Хеап Сорт

Алгоритам сортирања хрпе заснован је на поређењу. Максимални елемент се бира и поставља у крајњи положај. Тада се други највећи елемент проналази и поставља у други последњи положај. Овај се поступак понавља за све елементе.

Препоручени чланци

Ово је водич за функције матрице у Ц. Овде смо размотрили различите функције и начине сортирања матрице. Можете и да прођете кроз остале сродне чланке да бисте сазнали више -

  1. Низи у Ц ++
  2. Арраис ин Р
  3. Функције у Р
  4. Предности Арраи-а
  5. Врсте функција матрице у ПХП-у и примерима

Категорија: