{ "metadata": { "name": "", "signature": "sha256:359ba0990b58235e80b2e0192de2b1c02844fb6d8275025bc2e3f3cf33cfcdf1" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Chapter 17: Advanced Pointers " ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 17.1, Page number: 331" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# Structure declaration\n", "from ctypes import *\n", "\n", "class person (Structure) :\n", "_fields_ = [(\"name\", c_wchar_p), (\"address\", c_wchar_p), (\"city_state_zip\", c_wchar_p), (\"age\", c_int), (\"height\", c_float)]" ], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 17.2, Page number: 336" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# Function declaration\n", "def lookup (name) :\n", " lists = ['John', 'Jim', 'Jane', 'Clyde']\n", " result = 0\n", "\n", " for index in range (0, 4) :\n", " if (lists[index] == name) :\n", " result = 1\n", " break\n", " \n", " return result\n", "\n", "# Calculation and result\n", "name = 'Jane'\n", "\n", "if (lookup (name)) :\n", " print ('%s is in the list\\n' % name)\n", "else :\n", " print ('%s is not in the list\\n' % name)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Jane is in the list\n", "\n" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 17.3, Page number: 338" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# Declaration and result\n", "aList = [45, 89, 123]\n", "\n", "aList.insert(1, 53)\n", "\n", "print 'Final List : ', aList" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Final List : [45, 53, 89, 123]\n" ] } ], "prompt_number": 3 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Example 17.4, Page number: 348" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "# Class declaration\n", "class Node:\n", " def __init__(self, val):\n", " self.l_child = None\n", " self.r_child = None\n", " self.data = val\n", "\n", "def binary_insert(root, node):\n", " if root is None:\n", " root = node\n", " else:\n", " if root.data > node.data:\n", " if root.l_child == None:\n", " root.l_child = node\n", " else:\n", " binary_insert(root.l_child, node)\n", " else:\n", " if root.r_child == None:\n", " root.r_child = node\n", " else:\n", " binary_insert(root.r_child, node)\n", "\n", "def in_order_print(root):\n", " if not root:\n", " return\n", " in_order_print(root.l_child)\n", " print root.data\n", " in_order_print(root.r_child)\n", "\n", "r = Node('Lemon')\n", "binary_insert(r, Node('Plum'))\n", "binary_insert(r, Node('Apple'))\n", "binary_insert(r, Node('Orange'))\n", "binary_insert(r, Node('Pear'))\n", "binary_insert(r, Node('Grape'))\n", "\n", "\n", "# Result\n", "print \"List of words in ASCII order:\"\n", "in_order_print(r)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "List of words in ASCII order:\n", "Apple\n", "Grape\n", "Lemon\n", "Orange\n", "Pear\n", "Plum\n" ] } ], "prompt_number": 4 } ], "metadata": {} } ] }