இதன் முக்கியத்துவத்தை இந்தக் கட்டுரையில் ஆராய்வோம் தரவு கட்டமைப்புகள் , பல்வேறு வகைகள் தரவு கட்டமைப்புகள் C++ இல் கிடைக்கும், மேலும் உங்கள் திட்டங்களில் அவற்றை எவ்வாறு திறம்பட பயன்படுத்துவது.
C++ இல் தரவு கட்டமைப்பு என்றால் என்ன
தி தரவு அமைப்பு நிரலாக்கத்தில் இன்றியமையாத கருத்தாகும் மற்றும் தரவைச் சேமித்து ஒழுங்கமைப்பதில் முக்கிய பங்கு வகிக்கிறது. C++ இல், தரவு கட்டமைப்பை ஒரு குறிப்பிட்ட வடிவத்தில் தரவைச் சேமிப்பதற்கும் தரவை நிர்வகிப்பதற்கும் ஒரு வழியாக வரையறுக்கலாம். இது தரவை திறம்பட அணுகுவதற்கும் கையாளுவதற்கும் அனுமதிக்கிறது, புரோகிராமர்கள் குறியீட்டை எழுதுவதையும் பராமரிப்பதையும் எளிதாக்குகிறது.
C++ இல், தி தரவு கட்டமைப்புகள் பின்வரும் தொடரியல் வேண்டும்:
கட்டமைக்க கட்டமைப்பு_பெயர் {
தரவு வகை1 பெயர்1 ;
தரவு வகை2 பெயர்2 ;
தரவு வகை3 பெயர்3 ;
datatype4 name4 ;
..
..
..
} பொருள்_பெயர் ;
மேலே உள்ள தொடரியல், தி struct முக்கிய வார்த்தை கட்டமைப்பை வரையறுக்கப் பயன்படுகிறது கட்டமைப்பு_பெயர் கட்டமைப்பின் பயனர் வரையறுக்கப்பட்ட பெயர் மற்றும் அது மாறுபடலாம். தி தரவு வகை1 கட்டமைப்பின் உறுப்பினரின் தரவு வகை மற்றும் பெயர்1 கட்டமைப்பின் உறுப்பினரின் பெயர் மற்றும் பொருள்_பெயர் கட்டமைப்பு வரையறுக்கப்பட்ட பொருளின் பெயர்.
உதாரணமாக
கீழே உள்ள எடுத்துக்காட்டில், தி கட்டமைப்பு தகவல் மூன்று உறுப்பினர்களைக் கொண்டுள்ளது: பெயர், வயது, மற்றும் குடியுரிமை.
கட்டமைக்க தகவல்
{
கரி பெயர் [ ஐம்பது ] ;
முழு எண்ணாக குடியுரிமை ;
முழு எண்ணாக வயது ;
}
இந்த குறியீட்டை C++ இல் இயக்குவோம், இந்த உறுப்பினர்கள் அனைவரையும் கட்டமைப்பு நபரில் வரையறுத்துள்ளோம் மற்றும் எந்த இடத்தையும் ஒதுக்கவில்லை. முக்கிய செயல்பாட்டில், இந்த உறுப்பினர்களை குறிப்பிட்ட மதிப்புகளுடன் துவக்கி அச்சிட்டுள்ளோம்:
#பெயர்வெளி std ஐப் பயன்படுத்துகிறது ;
கட்டமைக்க தகவல்
{
சரம் பெயர் ;
முழு எண்ணாக வயது ;
} ;
முழு எண்ணாக முக்கிய ( வெற்றிடமானது ) {
கட்டமைக்க தகவல் ப ;
ப. பெயர் = 'ஜைனப்' ;
ப. வயது = 23 ;
கூட் << 'நபர் பெயர்:' << ப. பெயர் << endl ;
கூட் << 'நபர் வயது:' << ப. வயது << endl ;
திரும்ப 0 ;
}
குறியீடு பெயரிடப்பட்ட ஒரு கட்டமைப்பை வரையறுக்கிறது தகவல் இரண்டு பண்புகளுடன்: பெயர் மற்றும் வயது. முக்கிய செயல்பாட்டில், ஒரு புதியது தகவல் பொருள் உருவாக்கப்பட்டு அதன் பெயர் மற்றும் வயது ஒதுக்கப்படும். இறுதியாக, இந்த புலங்களின் மதிப்புகள் cout ஐப் பயன்படுத்தி கன்சோலில் அச்சிடப்படுகின்றன.
C++ இல் தரவு கட்டமைப்பின் வகைப்பாடு
C++ இல் தரவு அமைப்பு இரண்டு பரந்த பிரிவுகளாக பிரிக்கப்பட்டுள்ளது: நேரியல் மற்றும் நேரியல் அல்லாத தரவு கட்டமைப்புகள் . தரவு கட்டமைப்புகள் பின்வரும் பண்புகளின் அடிப்படையில் பிரிக்கப்படுகின்றன:
பண்பு | விளக்கம் | உதாரணமாக |
நேரியல் | தரவு நேர்கோட்டு வரிசையில் அமைக்கப்பட்டுள்ளது | அணிவரிசைகள் |
நேரியல் அல்லாதது | தரவுகளின் உருப்படிகள் நேரியல் வரிசையில் இல்லை | வரைபடம், மரம் |
நிலையான | இடம், அளவு மற்றும் நினைவகம் ஆகியவை சரி செய்யப்பட்டுள்ளன | அணிவரிசைகள் |
மாறும் | நிரலின் செயல்பாட்டைப் பொறுத்து அளவு மாறுகிறது | இணைக்கப்பட்ட பட்டியல் |
ஒரே மாதிரியான | பொருட்கள் ஒரே மாதிரியானவை | அணிவரிசைகள் |
ஒரே மாதிரியானவை அல்ல | பொருட்கள் ஒரே வகையாக இருக்கலாம் அல்லது இல்லாமல் இருக்கலாம் | கட்டமைப்புகள் |
C++ இல் உள்ள தரவு கட்டமைப்புகளின் வகைகள்:
1: அணிவரிசைகள்
வரிசைகள் என்பது C++ இன் மிக அடிப்படையான தரவு கட்டமைப்புகள் ஆகும். வரிசை என்பது ஒரே தரவு வகை கொண்ட உறுப்புகளின் குழுவாகும். வரிசைகள் முழு தரவுத் தொகுப்பிலும் செயல்பாடுகளைச் செய்வதை எளிதாக்குகின்றன. வரிசைகளில் சேமிக்கப்படும் மதிப்புகள் தனிமங்கள் எனப்படும்.
2: இணைக்கப்பட்ட பட்டியல்
இணைக்கப்பட்ட பட்டியலில் உள்ள தரவின் கூறுகள் முனைகள் மூலம் இணைக்கப்பட்டுள்ளன. ஒவ்வொரு முனையிலும் அதன் பின் முனையின் முகவரி மற்றும் தரவு இருக்கும். முனைகளைச் சேர்ப்பதற்கும் நீக்குவதற்கும் அவை சிறந்தவை. இணைக்கப்பட்ட பட்டியல்களில் இரண்டு வகைகள் உள்ளன ஒன்று ஒற்றை மற்றும் மற்றொன்று இரட்டிப்பாக இணைக்கப்பட்ட பட்டியல்கள். தனித்தனியாக இணைக்கப்பட்ட பட்டியலில், முந்தைய முனையில் அதன் பின் முனையின் தரவு உள்ளது ஆனால் அடுத்த முனை முந்தைய முனையைப் பற்றி தெரியாது. இரட்டிப்பாக இணைக்கப்பட்ட பட்டியலில், திசை முன்னோக்கி பின்னோக்கி உள்ளது.
3: அடுக்குகள்
அடுக்குகள் என்பது LIFO (Last in First Out) கொள்கையைப் பின்பற்றும் சுருக்க தரவு வகையாகும். இந்த விதியானது கடைசியாகச் செருகப்பட்ட உறுப்பு முதலில் நீக்கப்படும். அவை சுழல்நிலை பின்னடைவு அல்காரிதம்களுடன் பயன்படுத்தப்படுகின்றன.
4: வால்கள்
வரிசைகள் சுருக்க தரவு வகை மற்றும் FIFO (முதலில் மற்றும் முதலில் வெளியேறுதல்) விதியைப் பின்பற்றுகின்றன. இந்த விதியானது முதலில் செருகப்பட்ட உறுப்பு முதலில் நீக்கப்படும். நிகழ்நேர அமைப்பு விளக்கங்களைக் கையாளும் போது அவை உதவியாக இருக்கும்.
5: மரங்கள்
மரங்கள் பல முனைகளைக் கொண்ட நேரியல் அல்லாத தரவு கட்டமைப்புகளின் தொகுப்பாகும். இது இரண்டு முனைகளுடன் ஒரு விளிம்பை மட்டுமே அனுமதிக்கிறது.
6: வரைபடங்கள்
ஒரு வரைபடத்தில், ஒவ்வொரு முனையும் ஒரு உச்சி மற்றும் ஒவ்வொரு முனையும் ஒரு விளிம்பின் மூலம் மற்றொரு முனையுடன் இணைக்கப்பட்டுள்ளது. கோளங்கள் உச்சி மற்றும் அம்புகள் விளிம்புகள், அவை நிஜ வாழ்க்கை காட்சிகள் அல்லது நரம்பியல் நெட்வொர்க்குகளை செயல்படுத்த பயன்படுத்தப்படுகின்றன. வரைபடங்கள் மூன்று வெவ்வேறு வகைகளைக் கொண்டுள்ளன: திசைதிருப்பப்படாத வரைபடம், இரு-இயக்கப்பட்ட வரைபடம் மற்றும் எடையுள்ள வரைபடம்.
தரவு கட்டமைப்புகளில் செயல்பாடுகள்
C++ இல் உள்ள தரவு கட்டமைப்புகளில் பின்வரும் செயல்பாடுகளை நாம் செய்யலாம்:
- தரவு கட்டமைப்புகளில் புதிய தரவு கூறுகளைச் செருகுதல்.
- தரவு கட்டமைப்பிலிருந்து ஏற்கனவே உள்ள தரவு கூறுகளை அகற்றுதல்.
- தரவு கட்டமைப்பில் உள்ள அனைத்து தரவு கூறுகளையும் காட்டவும்.
- தரவு கட்டமைப்பில் குறிப்பிட்ட உறுப்பைத் தேடவும்.
- அனைத்து கூறுகளையும் ஏறுவரிசை அல்லது இறங்கு வரிசையில் வரிசைப்படுத்தவும்.
- இரண்டு தரவு கட்டமைப்புகளிலிருந்து கூறுகளை இணைத்து புதிய ஒன்றை உருவாக்கவும்.
பாட்டம் லைன்
C++ இல் உள்ள தரவு கட்டமைப்புகள் தரவை திறமையாக கையாளும் வழியாகும், எனவே அதை அணுக முடியும். உங்கள் திட்டத்திற்கான பொருத்தமான தரவு கட்டமைப்பைத் தேர்ந்தெடுப்பது முக்கியம், நீங்கள் தரவை வரிசையாகச் சேர்க்க விரும்பினால், வரிசைகளுக்குச் செல்லவும். தரவு கட்டமைப்பின் கருத்தை புரிந்துகொள்வது, நிரலாக்க மற்றும் அல்காரிதம் வடிவமைப்பில் தேர்ச்சி பெற உதவும்.