Maison développement back-end Tutoriel C#.Net C#1,3,5,7排列组合(3位)非递归

C#1,3,5,7排列组合(3位)非递归

Dec 20, 2016 am 09:11 AM
.net 3

//深度优先 
类节目 
    { 
        静态无效的主要(字串[] args) 
        { 
            INT []号= INT新[] {1,3,5,7}; 
            列表数据=新名单(); 
            堆栈的OpenStack =新的堆栈(); 
            树根=新树(); 
            树父=根; 
            而(真) 
            { 
              
                如果(parent.GetDeep()== 4) 
                { 
                    parent.printf(); 
                    
                } 
                其他 
                { 
                   VAR tempSon = number.ToList(); 
                   的foreach(在tempSon VAR项) 
                   { 
                       )树节点=新树(; 
                       Node.NodeData =项目; 
                       Node.Parent =父母; 
                       openStack.Push(节点); 
                   } 
                } 
               如果(openStack.Count == 0)[颜色= darkred] [/ COLOR] 
                    突破; 
               变种的ItemData = openStack.Pop(); 
               父=的ItemData; 

            } 
            System.Console.Read(); 

        } 
        公共静态无效的printf(列表数据) 
        { 
            串D ="英寸; 
            data.ForEach(p值= D 1和D = D + P); 
            的System.Console.WriteLine(D); 
        } 
    } 
    类树 
    { 
        公共树父; 
        公众诠释NODEDATA; 
        公开名单的儿子=新名单(); 
        公众诠释GetDeep() 
        { 
            INT I = 0; 
              VAR P =这一点; 
            而(真) 
            { 
                如果(P == NULL) 
                { 
                    回报我; 
                } 
                否则 
                { 
                    P = p.Parent; 
                    我++; 
                
                } 
            
            } 
        
        } 
        公共无效的printf() 
        { 
            字符串PF ="英寸; 
            VAR P =这一点; 
            而(真) 
            { 
                如果(P == NULL) 
                { 
                    的System.Console.WriteLine(PF); 
                    返回; 
                } 
                否则 
                { 
                    如果(p.NodeData!= 0) 
                    { 
                        PF = p.NodeData + PF; 
                    } 
                    P = p.Parent; 
                } 
            } 
        
        } 
    } 
//广度优先 
类节目 
    { 
        静态无效的主要(字串[] args) 
        { 
            INT []号= INT新[] {1,3}; 
            名单的数据=新的List 的(); 
            堆栈<树>的OpenStack =新的堆栈<树>(); 
            队列<树> openQueue =新队列<树>(); 

            树根=新树(); 
            树父=根; 
            而(真) 
            { 
              
                如果(parent.GetDeep()== 4) 
                { 
                    parent.printf(); 
                    
                } 
                其他 
                { 
                   VAR tempSon = number.ToList(); 
                   的foreach(在tempSon VAR项) 
                   { 
                       )树节点=新树(; 
                       Node.NodeData =项目; 
                       Node.Parent =父母; 
                      // openStack.Push(节点); 
                       openQueue.Enqueue(节点); 
                   } 
                } 
                如果(openQueue.Count == 0)//如果(openStack.Count == 0) 
                    打破; 
               变种的ItemData = openQueue.Dequeue(); //openStack.Pop(); 
               父=的ItemData; 


            } 
            System.Console.Read(); 


        } 

        公共静态无效的printf(名单的数据) 
        { 
            串D =“”; 
            data.ForEach(P => D = D + P); 
            的System.Console.WriteLine(D); 
        } 

    } 
    类树 
    { 
        公共树父; 
        公众诠释NODEDATA; 
        公开名单<树>儿子=新的List <树>(); 
        公众诠释GetDeep() 
        { 
            INT I = 0; 
              VAR P =这一点; 
            而(真) 
            { 
                如果(P == NULL) 
                { 
                    回报我; 
                } 
                否则 
                { 
                    P = p.Parent; 
                    我++; 
                
                } 
            
            } 
        
        } 
        公共无效的printf() 
        { 
            字符串PF =“”; 
            VAR P =这一点; 
            而(真) 
            { 
                如果(P == NULL) 
                { 
                    的System.Console.WriteLine(PF); 
                    返回; 
                } 
                否则 
                { 
                    如果(p.NodeData!= 0) 
                    { 
                        PF = p.NodeData + PF; 
                    } 
                    P = p.Parent; 
                } 

            } 
        
        } 
    } 

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelles sont les perspectives d'emploi du C# ? Quelles sont les perspectives d'emploi du C# ? Oct 19, 2023 am 11:02 AM

Que vous soyez débutant ou professionnel expérimenté, la maîtrise du C# ouvrira la voie à votre carrière.

Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM Partagez plusieurs frameworks de projets open source .NET liés à l'IA et au LLM May 06, 2024 pm 04:43 PM

Le développement des technologies d’intelligence artificielle (IA) bat son plein aujourd’hui et elles ont montré un grand potentiel et une grande influence dans divers domaines. Aujourd'hui, Dayao partagera avec vous 4 cadres de projets liés au modèle d'IA open source .NET LLM, dans l'espoir de vous fournir une référence. https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel est un kit de développement logiciel (SDK) open source conçu pour intégrer de grands modèles de langage (LLM) tels qu'OpenAI, Azure

blendOS 3 : le système de distribution immuable est sur le point d'être publié, prenant en charge jusqu'à 9 distributions Linux blendOS 3 : le système de distribution immuable est sur le point d'être publié, prenant en charge jusqu'à 9 distributions Linux Jun 06, 2023 pm 05:11 PM

Selon les informations du 6 juin, le développeur RudraSaraswat a annoncé le système de distribution immuable qu'il développe, blendOS3, et a promis d'apporter de nouvelles fonctions et fonctionnalités aux utilisateurs. Le système prendra en charge jusqu'à neuf distributions Linux et offrira une nouvelle façon de mettre à jour sans utiliser de référentiel de packages. Selon la compréhension de l'éditeur, blendOS3 est un système de distribution qui intègre ArchLinux, FedoraLinux et Ubuntu. Dès la sortie de blendOS2 en avril de cette année, le système a introduit la technologie WayDroid, permettant aux utilisateurs d'exécuter des applications Android sur le système. L'un des changements les plus importants apportés par blendOS3 est une toute nouvelle mise à jour

Technologie d'optimisation des performances .NET pour les développeurs Technologie d'optimisation des performances .NET pour les développeurs Sep 12, 2023 am 10:43 AM

Si vous êtes un développeur .NET, vous devez être conscient de l'importance d'optimiser les fonctionnalités et les performances pour fournir des logiciels de haute qualité. En utilisant de manière experte les ressources fournies et en réduisant les temps de chargement des sites Web, vous créez non seulement une expérience agréable pour vos utilisateurs, mais vous réduisez également les coûts d'infrastructure.

Différences de performances entre le framework Java et le framework .NET Différences de performances entre le framework Java et le framework .NET Jun 03, 2024 am 09:19 AM

En termes de traitement des requêtes à haute concurrence, .NETASP.NETCoreWebAPI fonctionne mieux que JavaSpringMVC. Les raisons incluent : la compilation précoce AOT, qui réduit le temps de démarrage, une gestion plus raffinée de la mémoire, où les développeurs sont responsables de l'allocation et de la libération de la mémoire des objets.

C # .NET des questions et réponses d'entrevue: améliorez votre expertise C # .NET des questions et réponses d'entrevue: améliorez votre expertise Apr 07, 2025 am 12:01 AM

C # .NET Les questions et réponses d'entrevue comprennent les connaissances de base, les concepts de base et l'utilisation avancée. 1) Connaissances de base: C # est un langage orienté objet développé par Microsoft et est principalement utilisé dans le framework .NET. 2) Concepts de base: la délégation et les événements permettent des méthodes de liaison dynamiques, et LINQ fournit des fonctions de requête puissantes. 3) Utilisation avancée: la programmation asynchrone améliore la réactivité et les arbres d'expression sont utilisés pour la construction de code dynamique.

Tutoriel avancé C # .NET: Ace votre prochain entretien de développeur senior Tutoriel avancé C # .NET: Ace votre prochain entretien de développeur senior Apr 08, 2025 am 12:06 AM

L'entrevue avec C # Developer Senior Developer nécessite de maîtriser les connaissances de base telles que la programmation asynchrone, la LINQ et les principes de travail internes des frameworks .NET. 1. La programmation asynchrone simplifie les opérations par asynchronisation et attend pour améliorer la réactivité de l'application. 2.Linq exploite des données dans le style SQL et fait attention aux performances. 3. La CLR du cadre net gère la mémoire et la collecte des ordures doit être utilisée avec prudence.

C # .NET: Explorer les concepts de base et les principes fondamentaux de la programmation C # .NET: Explorer les concepts de base et les principes fondamentaux de la programmation Apr 10, 2025 am 09:32 AM

C # est un langage de programmation moderne et orienté objet développé par Microsoft et dans le cadre du .NET Framework. 1.C # prend en charge la programmation orientée objet (POO), y compris l'encapsulation, l'héritage et le polymorphisme. 2. La programmation asynchrone en C # est implémentée via Async et attend des mots clés pour améliorer la réactivité des applications. 3. Utilisez LINQ pour traiter les collections de données concisement. 4. Les erreurs courantes incluent les exceptions de référence NULL et les exceptions indexes hors gamme. Les compétences de débogage comprennent l'utilisation d'un débogueur et une gestion des exceptions. 5. L'optimisation des performances comprend l'utilisation de StringBuilder et d'éviter l'emballage et le déballage inutiles.

See all articles