பைத்தானில் இணைக்கப்பட்ட பட்டியலை எவ்வாறு செயல்படுத்துவது?



புதுப்பித்தலைச் செருகவும், இணைக்கப்பட்ட பட்டியலில் உள்ள கூறுகளை அகற்றவும் பல்வேறு முறைகளுடன் பைத்தானில் இணைக்கப்பட்ட பட்டியலை எவ்வாறு உருவாக்கலாம் என்பதை இந்த கட்டுரை காட்டுகிறது.

பைதான் நிரலாக்க மொழி என்பது திறந்த-மூல மொழியாகும், இது பல்வேறு பெட்டிகளுக்கு வெளியே செயல்படுத்தப்படுகிறது, இது தனித்துவமாகவும் கற்றுக்கொள்ளவும் எளிதாக்குகிறது. என்றாலும் இணைக்கப்பட்ட பட்டியலின் கருத்தை ஆதரிக்கவில்லை, இணைக்கப்பட்ட பட்டியலைப் பெறுவதற்கு வேறுபட்ட செயலாக்கத்தின் மூலம் அதைச் சுற்றி ஒரு வழி உள்ளது. இந்த கட்டுரையில், பைத்தானில் இணைக்கப்பட்ட பட்டியலை எவ்வாறு உருவாக்கலாம் என்பதைக் கற்றுக்கொள்வோம். இந்த வலைப்பதிவில் உள்ளடக்கப்பட்ட தலைப்புகள் பின்வருமாறு:

ஆரம்பித்துவிடுவோம்!!





ஸ்பைடர் பைதான் பயன்படுத்துவது எப்படி

இணைக்கப்பட்ட பட்டியல் என்றால் என்ன?

இணைப்பு பட்டியல் என்பது ஒத்த தரவு வகையைக் கொண்ட முனைகளின் வரிசை, ஒவ்வொரு முனையிலும் ஒரு தரவு பொருள் மற்றும் அடுத்த முனைக்கு சுட்டிக்காட்டி உள்ளது.

இணைக்கப்பட்ட பட்டியல் என்பது பல முனைகளின் சேகரிப்புடன் ஒரு நேரியல் தரவு அமைப்பு ஆகும். எங்கே இach உறுப்பு அதன் சொந்த தரவையும் அடுத்த உறுப்பு இருப்பிடத்திற்கு ஒரு சுட்டிக்காட்டி சேமிக்கிறது. இணைக்கப்பட்ட பட்டியலில் கடைசி இணைப்பு பூஜ்யமாக சுட்டிக்காட்டுகிறது, இது சங்கிலியின் முடிவைக் குறிக்கிறது. இணைக்கப்பட்ட பட்டியலில் உள்ள ஒரு உறுப்பு a என அழைக்கப்படுகிறது முனை . முதல் முனை என்று அழைக்கப்படுகிறது தலை .கடைசி முனை அழைக்கப்படுகிறதுதி வால் .
இணைக்கப்பட்ட பட்டியல் - பைதான் - எடுரேகாவில் இணைக்கப்பட்ட பட்டியல்நிலையான பைதான் நூலகத்தில் இணைக்கப்பட்ட பட்டியல் இல்லை. முனைகளின் கருத்தைப் பயன்படுத்தி இணைப்பு பட்டியல் தரவு கட்டமைப்பின் கருத்தை நாம் செயல்படுத்தலாம்.



இணைக்கப்பட்டதைப் பற்றி இப்போது கற்றுக்கொண்டோம். எனவே இணைக்கப்பட்ட பட்டியலை செயல்படுத்துவதற்கு செல்லலாம்.

இணைக்கப்பட்ட பட்டியலை செயல்படுத்துகிறது

இணைக்கப்பட்ட பட்டியலை உருவாக்குவதற்கு, நாங்கள் ஒரு முனை பொருளை உருவாக்கி, இந்த முனை பொருளைப் பயன்படுத்த மற்றொரு வகுப்பை உருவாக்குகிறோம்.
முனை வகுப்பை உருவாக்குவதற்கான குறியீடு.
மேலே உள்ள நிரல் மூன்று தரவு கூறுகளுடன் இணைக்கப்பட்ட பட்டியலை உருவாக்குகிறது.

வகுப்பு முனை (பொருள்): # வகுப்பு மாறிகளைத் தொடங்க கட்டமைப்பாளர் def __init __ (self, data = none, next_node = none): self.data = data self.next_node = next_node #get data def get_data (self): return self.data # அடுத்த மதிப்பைப் பெறுக get_next (self): return self.next_node # அடுத்த தரவை அமைக்கவும் def set_next (self, new_next): self.next_node = new_next

இணைப்பு பட்டியலை செயல்படுத்துவது இணைக்கப்பட்ட பட்டியலில் பின்வரும் செயல்பாட்டைக் கொண்டுள்ளது
ஒன்று. செருக : இந்த முறை இணைக்கப்பட்ட பட்டியலில் புதிய முனையைச் செருகும்.
2. அளவு : இந்த முறை இணைக்கப்பட்ட பட்டியலின் அளவை வழங்கும்.
3. தேடல் : இந்த முறை தரவைக் கொண்ட ஒரு முனையைத் தரும், இல்லையெனில் பிழையை எழுப்புகிறது
நான்கு. அழி : இந்த முறை தரவைக் கொண்ட ஒரு முனையை நீக்கும், இல்லையெனில் பிழையை எழுப்புகிறது



இணைக்கப்பட்ட பட்டியலின் முறைகளைப் பார்ப்போம்

இணைக்கப்பட்ட பட்டியலில் ஆரம்ப முறை

class LinkedList (பொருள்): def __init __ (self, head = none): self.head = head

தொடக்க முறை a இன் துவக்கத்திற்கு பயன்படுத்தப்படுகிறது வர்க்கம் பட்டியலில் எந்த முனைகளும் இல்லை என்றால் அது எதுவும் இல்லை.

மதிப்பால் கடந்து செல்வதற்கும் ஜாவாவில் குறிப்பு மூலம் கடந்து செல்வதற்கும் உள்ள வேறுபாடு

செருகு:

def செருக (சுய, தரவு): new_node = முனை (தரவு) new_node.set_next (self.head) self.head = new_node

இந்த செருகும் முறை தரவை எடுத்து, கொடுக்கப்பட்ட தரவுடன் புதிய முனையைத் துவக்கி, பட்டியலில் சேர்க்கிறது. தொழில்நுட்ப ரீதியாக நீங்கள் பட்டியலில் எங்கு வேண்டுமானாலும் ஒரு முனையைச் செருகலாம், ஆனால் அதைச் செய்வதற்கான எளிய வழி, அதை பட்டியலின் தலைப்பகுதியில் வைத்து புதிய முனையை பழைய தலையில் சுட்டிக்காட்டுவது (மற்ற முனைகளை கோட்டிற்கு கீழே தள்ளுவது).

அளவு

# பட்டியல் டெஃப் அளவு (சுய) இல் உள்ள மொத்த முனைகளின் எண்ணிக்கையை வழங்குகிறது: நடப்பு = சுய.ஹெட் எண்ணிக்கை = 0 தற்போதைய போது: எண்ணிக்கை + = 1 நடப்பு = நடப்பு.ஜெட்_நெக்ஸ்ட் () திரும்ப எண்ணிக்கை

அளவு முறை மிகவும் எளிதானது, இது இனி கண்டுபிடிக்க முடியாத வரை முனைகளை கணக்கிடுகிறது, மேலும் அது எத்தனை முனைகளைக் கண்டுபிடித்தது என்பதைத் தருகிறது. இந்த முறை தலை முனையிலிருந்து தொடங்குகிறது, அது முடிவை அடையும் வரை முனைகளின் வரிசையில் பயணிக்கிறது (தற்போதைய முடிவை அடையும் போது அது எதுவுமில்லை) அது எத்தனை முனைகளைக் கண்டது என்பதைக் கண்காணிக்கும்.

தேடல்

# நோட் டேட்டா கொண்ட பட்டியலில் உள்ள முனையைத் தருகிறது, நோட் டெஃப் தேடல் இல்லாவிட்டால் பிழை ஏற்பட்டது (சுய, நோட் டேட்டா): நடப்பு = self.head isPresent = நடப்பு மற்றும் தவறானது தவறானது: என்றால் current.get_data () == nodeData: isPresent = உண்மை வேறு: current = current.get_next () நடப்பு எதுவுமில்லை என்றால்: ValueError ஐ உயர்த்தவும் ('தரவு பட்டியலில் இல்லை') தற்போதைய மின்னோட்டத்தை திரும்பவும்

தேடல் உண்மையில் அளவிற்கு மிகவும் ஒத்ததாக இருக்கிறது, ஆனால் முனைகளின் முழு பட்டியலையும் கடந்து செல்வதற்கு பதிலாக, தற்போதைய முனையில் கோரப்பட்ட தரவு உள்ளதா என்பதைப் பார்க்க ஒவ்வொரு நிறுத்தத்திலும் சரிபார்க்கிறது. அப்படியானால், அந்தத் தரவை வைத்திருக்கும் முனையைத் தருகிறது. முறை முழு பட்டியலிலும் சென்றாலும், இன்னும் தரவைக் கண்டுபிடிக்கவில்லை என்றால், அது மதிப்பு பிழையை எழுப்புகிறது மற்றும் தரவு பட்டியலில் இல்லை என்பதை பயனருக்கு அறிவிக்கிறது.

அழி

# இணைக்கப்பட்ட பட்டியலிலிருந்து முனையை அகற்று நோட் இல்லை என்றால் டெஃப் நீக்கு (சுய, நோட் டேட்டா): நடப்பு = சுய.ஹெட் முந்தைய = எதுவுமில்லை பிரதிநிதித்துவம் = நடப்பு மற்றும் தவறானது தவறானது: என்றால் நடப்பு.ஜெட்_டேட்டா () == நோட் டேட்டா: isPresent = உண்மை வேறு: முந்தைய = நடப்பு நடப்பு = நடப்பு.ஜெட்_நெக்ஸ்ட் () நடப்பு எதுவுமில்லை என்றால்: முந்தையது எதுவுமில்லை என்றால் மதிப்பு எர்ரரை ('பட்டியலில் இல்லை தரவு') உயர்த்தவும்: self.head = current.get_next () வேறு: முந்தைய.செட்_நெக்ஸ்ட் ( current.get_next ())

நீக்குதல் முறை தேடலைப் போலவே பட்டியலையும் கடந்து செல்கிறது, ஆனால் தற்போதைய முனையைக் கண்காணிப்பதைத் தவிர, நீக்குதல் முறையும் கடைசி முனை பார்வையிட்டதை நினைவில் கொள்கிறது. நீக்குதல் இறுதியாக முனைக்கு வந்ததும் அதை நீக்க விரும்புகிறது. அது வெறுமனே அந்த முனையை சங்கிலியிலிருந்து “பாய்ச்சல்” மூலம் நீக்குகிறது.

இதன் மூலம், நீக்குதல் முறை நீக்க விரும்பும் முனையை அடையும் போது, ​​அது பார்வையிட்ட கடைசி முனையைப் பார்க்கிறது (‘முந்தைய’ முனை) மற்றும் முந்தைய முனையின் சுட்டிக்காட்டி மீட்டமைக்கிறது. விரைவில் நீக்கப்பட வேண்டிய முனையை சுட்டிக்காட்டுவதை விட.

இது வரிசையில் அடுத்த முனைக்கு சுட்டிக்காட்டும். நீக்கப்படும் மோசமான முனையை எந்த முனைகளும் சுட்டிக்காட்டாததால், அது பட்டியலிலிருந்து திறம்பட அகற்றப்படும்!

இந்த கட்டுரையின் முடிவிற்கு இது நம்மை அழைத்துச் செல்கிறது, அங்கு பைத்தானில் ஒரு இணைக்கப்பட்ட பட்டியலை எவ்வாறு உருவாக்க முடியும் என்பதைக் கற்றுக் கொண்டோம். இந்த டுடோரியலில் உங்களுடன் பகிரப்பட்ட எல்லாவற்றையும் நீங்கள் தெளிவாகக் கருதுகிறீர்கள் என்று நம்புகிறேன்.

அட்டவணையில் தரவு கலத்தல் என்றால் என்ன

இந்த கட்டுரையை “இணைக்கப்பட்ட பட்டியல் பைதான்” இல் நீங்கள் கண்டால், பாருங்கள் 250,000 க்கும் அதிகமான திருப்தியான கற்றவர்களின் வலைப்பின்னலுடன் நம்பகமான ஆன்லைன் கற்றல் நிறுவனம் உலகம் முழுவதும் பரவியுள்ளது.

உங்கள் பயணத்தின் ஒவ்வொரு அடியிலும் உங்களுக்கு உதவ நாங்கள் இங்கு வந்துள்ளோம், மேலும் மாணவர்கள் மற்றும் தொழில் வல்லுநர்களுக்காக வடிவமைக்கப்பட்ட ஒரு பாடத்திட்டத்தை கொண்டு வருகிறோம். . பைதான் புரோகிராமிங்கில் உங்களுக்கு ஒரு தொடக்கத்தைத் தருவதற்கும், பல்வேறு மற்றும் முக்கிய மற்றும் மேம்பட்ட பைதான் கருத்தாக்கங்களுக்கும் பயிற்சி அளிப்பதற்காக இந்த படிப்பு வடிவமைக்கப்பட்டுள்ளது. போன்ற

நீங்கள் ஏதேனும் கேள்விகளைக் கண்டால், 'பைத்தானில் இணைக்கப்பட்ட பட்டியல்' இன் கருத்துகள் பிரிவில் உங்கள் எல்லா கேள்விகளையும் கேட்க தயங்கவும், எங்கள் குழு பதிலளிப்பதில் மகிழ்ச்சி அடைகிறது.