सी अॅरे
अॅरेची व्याख्या संक्षिप्त मेमरी स्थानांवर संचयित केलेल्या समान प्रकारच्या डेटा आयटमच्या संग्रह म्हणून केली जाते. अॅरे हा सी प्रोग्रामिंग भाषेतील व्युत्पन्न डेटा प्रकार आहे जो इंट, चार, डबल, फ्लोट इ. सारख्या आदिम प्रकारचा डेटा संचयित करू शकतो. पॉईंटर्स, स्ट्रक्चर इ. सारख्या व्युत्पन्न डेटा प्रकारांचा संग्रह संग्रहित करण्याची क्षमता देखील आहे जिथे प्रत्येक डेटा घटक यादृच्छिकपणे प्रवेश केला जाऊ शकतो जेथे प्रत्येक डेटा घटक त्याच्या अनुक्रमणिका क्रमांकाचा वापर करून यादृच्छिकपणे प्रवेश केला जाऊ शकतो. आपल्याला समान घटक संचयित करायचे असल्यास सी अॅरे फायदेशीर आहे. उदाहरणार्थ, जर आम्हाला एखाद्या विद्यार्थ्याचे गुण 6 विषयांमध्ये संचयित करायचे असतील तर आम्हाला भिन्न विषयातील गुणांसाठी भिन्न चल परिभाषित करण्याची आवश्यकता नाही. त्याऐवजी, आम्ही एक अॅरे परिभाषित करू शकतो जे प्रत्येक विषयातील गुण संभोग मेमरी ठिकाणी ठेवू शकतात. अॅरे वापरुन, आम्ही घटकांमध्ये सहज प्रवेश करू शकतो. अॅरेच्या घटकांमध्ये प्रवेश करण्यासाठी केवळ काही ओळी आवश्यक आहेत.
अॅरेचे गुणधर्म
अॅरेमध्ये खालील गुणधर्म आहेत. अॅरेचा प्रत्येक घटक समान डेटा प्रकाराचा असतो आणि समान आकार असतो, म्हणजेच, इंट = 4 बाइट. अॅरेचे घटक संक्षिप्त मेमरी ठिकाणी संग्रहित केले जातात जेथे प्रथम घटक सर्वात लहान मेमरी ठिकाणी संग्रहित केला जातो. अॅरेच्या घटकांवर यादृच्छिकपणे प्रवेश केला जाऊ शकतो कारण आम्ही दिलेल्या बेस पत्त्यासह अॅरेच्या प्रत्येक घटकाच्या पत्त्याची गणना करू शकतो आणि डेटा घटकाच्या आकारासह.
सी अॅरेचा फायदा
1) कोड ऑप्टिमायझेशन: डेटामध्ये प्रवेश करण्यासाठी कमी कोड. २) ट्रॅव्हर्सिंगची सुलभता: लूपसाठी वापरून आम्ही अॅरेचे घटक सहजपणे पुनर्प्राप्त करू शकतो. )) क्रमवारीत सुलभता: अॅरेच्या घटकांची क्रमवारी लावण्यासाठी, आम्हाला फक्त कोडच्या काही ओळी आवश्यक आहेत. )) यादृच्छिक प्रवेश: आम्ही अॅरेचा वापर करून यादृच्छिकपणे कोणत्याही घटकात प्रवेश करू शकतो.
सी अॅरेचा गैरसोय
१) निश्चित आकार: जे काही आकार, आम्ही अॅरेच्या घोषणेच्या वेळी परिभाषित करतो, आम्ही मर्यादेपेक्षा जास्त करू शकत नाही. तर, हे लिंक्डलिस्टसारखे गतिकरित्या आकार वाढत नाही जे आपण नंतर शिकू.
सी अॅरेची घोषणा
आम्ही खालील प्रकारे सी भाषेत अॅरे घोषित करू शकतो.
deTaRpzakar AWreRnaava[AWreRsaaEja];
आता, अॅरे घोषित करण्यासाठी आपण उदाहरण पाहूया.
paunaZ gauna[5];
येथे, डेटा_टाइप आहे, गुण हे अॅरे_नाव आहेत आणि 5 अॅरे_साईज आहेत.
सी अॅरेची आरंभ
अॅरे आरंभ करण्याचा सर्वात सोपा मार्ग म्हणजे प्रत्येक घटकाची अनुक्रमणिका वापरणे. आम्ही अनुक्रमणिका वापरुन अॅरेच्या प्रत्येक घटकास प्रारंभ करू शकतो. खालील उदाहरणाचा विचार करा.
gauna[0]=80;//AarMBa cyaa AWre
gauna[1]=60;
gauna[2]=70;
gauna[3]=85;
gauna[4]=75;
सी अॅरे उदाहरण
उदाहरण
#vaapara<PsaTidiAayaAae.Pca>
paunaZ mauqya(){
paunaZ mai=0;
paunaZ gauna[5];//oaaeSanaa cyaa AWre
gauna[0]=80;//AarMBa cyaa AWre
gauna[1]=60;
gauna[2]=70;
gauna[3]=85;
gauna[4]=75;
//TWvhsaZla cyaa AWre
jaeMvh(mai=0;mai<5;mai++){
laiha("%paunaZ \n",gauna[mai]);
}//SaevaT cyaa jaeMvh laupa
vaapasakra 0;
}
आउटपुट
80
60
70
85
75
सी अॅरे: आरंभिकतेसह घोषणा
आम्ही घोषणेच्या वेळी सी अॅरे आरंभ करू शकतो. चला कोड पाहूया.
paunaZ gauna[5]={20,30,40,50,60};
अशा परिस्थितीत, आकार परिभाषित करण्याची आवश्यकता नाही. तर हे खालील कोड म्हणून देखील लिहिले जाऊ शकते.
paunaZ gauna[]={20,30,40,50,60};
सी मध्ये अॅरे घोषित करण्यासाठी आणि आरंभ करण्यासाठी सी प्रोग्राम पाहूया.
उदाहरण
#vaapara<PsaTidiAayaAae.Pca>
paunaZ mauqya(){
paunaZ mai=0;
paunaZ gauna[5]={20,30,40,50,60};//oaaeSanaa Aanai AarMBa cyaa AWre
//TWvhsaZla cyaa AWre
jaeMvh(mai=0;mai<5;mai++){
laiha("%paunaZ \n",gauna[mai]);
}
vaapasakra 0;
}
आउटपुट
20
30
40
50
60
सी अॅरे उदाहरण: अॅरेची क्रमवारी लावत आहे
खालील प्रोग्राममध्ये, आम्ही चढत्या क्रमाने अॅरेची क्रमवारी लावण्यासाठी बबल सॉर्ट पद्धत वापरत आहोत.
उदाहरण
#vaapara<PsaTidiAayaAae.Pca>
qaalai mauqya ()
{
paunaZ mai, jae,Tempa;
paunaZ A[10] = { 10, 9, 7, 101, 23, 44, 12, 78, 34, 23};
jaeMvh(mai = 0; mai<10; mai++)
{
jaeMvh(jae = mai+1; jae<10; jae++)
{
jar(A[jae] > A[mai])
{
Tempa = A[mai];
A[mai] = A[jae];
A[jae] = Tempa;
}
}
}
laiha("mauna kzmavaari laavalai oaTk yaaDi ...\n");
jaeMvh(mai = 0; mai<10; mai++)
{
laiha("%paunaZ\n",A[mai]);
}
}
अॅरेचा सर्वात मोठा आणि दुसरा सर्वात मोठा घटक मुद्रित करण्यासाठी प्रोग्राम.
अॅरेचा सर्वात मोठा आणि दुसरा सर्वात मोठा घटक मुद्रित करण्यासाठी प्रोग्राम.
#vaapara<PsaTidiAayaAae.Pca>
qaalai mauqya ()
{
paunaZ PAar[100],mai,Pna,savaaZtaRmaaeVa,emabaRsaMtamaeja;
laiha("pzavaiST kra D Aakar cyaa D AWre?");
vacaa("%paunaZ",&Pna);
laiha("pzavaiST kra D oaTk cyaa D AWre?");
jaeMvh(mai = 0; mai<Pna; mai++)
{
vacaa("%paunaZ",&PAar[mai]);
}
savaaZtaRmaaeVa = PAar[0];
emabaRsaMtamaeja = PAar[1];
jaeMvh(mai=0;mai<Pna;mai++)
{
jar(PAar[mai]>savaaZtaRmaaeVa)
{
emabaRsaMtamaeja = savaaZtaRmaaeVa;
savaaZtaRmaaeVa = PAar[mai];
}
nahitar jar (PAar[mai]>emabaRsaMtamaeja && PAar[mai]!=savaaZtaRmaaeVa)
{
emabaRsaMtamaeja=PAar[mai];
}
}
laiha("savaaZta maaeVa = %paunaZ, Dusara savaaZta maaeVa = %paunaZ",savaaZtaRmaaeVa,emabaRsaMtamaeja);
}