विषम-सम क्रमबद्ध

मुक्त ज्ञानकोश विकिपीडिया से
विषम-सम क्रमबद्ध
विषम-सम क्रमबद्ध

विषम-सम क्रमबद्ध या सम-विषम क्रमबद्ध करना किसी संख्या को किसी क्रम में करना विषम-सम क्रमबद्ध को कहते हैं। उदाहरण के लिए २, ४, ६, ८, १० सम और १, ३, ५, ७, ९ विषम रूप में क्रमबद्ध किए गए हैं।

उपयोग[संपादित करें]

इसका उपयोग किसी बड़े तालिका से या संख्या से सम और विषम संख्या को निकालने के लिए किया जाता है। इस प्रकार से इसका उपयोग संख्या के खोज के लिए भी किया जा सकता है।

कलन विधि[संपादित करें]

इसके द्वारा किसी भी संख्या को क्रम से बनाया जा सकता है। यदि वह कोई सम संख्या है या कोई विषम संख्या इसके द्वारा उन संख्या को अलग किया जा सकता है।
पीएचपी में इसकी विधि

function oddEvenSorting(&$a) {
	$n = count($a);
	$sorted = false;
	while (!$sorted) {
		$sorted = true;
		for ($i = 1; $i < ($n - 1); $i += 2) {
			if ($a[$i] > $a[$i + 1]) {
				list($a[$i], $a[$i + 1]) = array($a[$i + 1], $a[$i]);
				if ($sorted) $sorted = false;
			}
		}
		
		for ($i = 0; $i < ($n - 1); $i += 2) {
			if ($a[$i] > $a[$i + 1]) {
				list($a[$i], $a[$i + 1]) = array($a[$i + 1], $a[$i]);
				if ($sorted) $sorted = false;
			}
		}
	}
}

सी++ में इसकी विधि

template <class T>
void OddEvenSort(T a[], int n)
{
  for (int i = 0; i < n; ++i)
  {
    if (i & 1)
    {
      for (int j = 2; j < n; j+=2)
        if (a[j] < a[j-1])
          swap(a[j-1], a[j]);
    }
    else
    {
      for (int j = 1; j < n; j+=2)
        if (a[j] < a[j-1])
          swap(a[j-1], a[j]);
    }
  }
}

सन्दर्भ[संपादित करें]