随笔分类 - 数据结构
摘要:原题:在32位机器上,下列代码中#pragmapack(2)classA{inti;unionU{charbuff[13];inti;}u;voidfoo(){}typedefchar*(*f)(void*);enum{red,green,blue}color;}a;sizeof(a)的值是()A、20 B、21C、22 D、24 E、非以上选项解析:classA{inti;//4unionu{charbuff[13];inti;}U;//13//1对齐voidfoo(){}//仅声明,不占空间typedefchar*(*f)(void);//仅声明,不占空间enum{red,green,bl
阅读全文
摘要:#include <stdio.h>void exchange(int &a,int &b){ a = a^b; b = a^b; a = a^b;}void printout(int a[],int n){ for(int i=0;i<n;i++){ printf("%5d ",a[i]); }}//直接选择排序void selectSort(int a[],int n){ int i,j; for(i=0;i<n;i++){ for(j=i+1;j<n;j++){ if(a[i]>a[j]){ exchange(a[i
阅读全文
摘要:class Queue<T>{ private int size = 0; private int length; private final int default_length = 20; private Object[] o; public Queue(){ length = default_length; o = new Object[length]; } public Queue(T data,int init_length){ length = init_length; o = new Object[length]; o[size] = data; size++; ..
阅读全文
摘要:class Stack<T>{ private int size=0;//栈大小 private final int default_length=20; private int length;//栈容量 private Object[] o; //初始化 public Stack(){ length = default_length; o = new Object[length]; } public Stack(T data,int init_length){ length = init_length; o = new Object[length]; o[0] = data; .
阅读全文
摘要:class LinkList<T>{ private class Node{ private T data; private Node next; public Node(T data,Node next){ this.data = data; this.next = next; } } private int length=0; //链表长度 private Node head; private Node tail; public LinkList(){ head=null; tail=null; } public LinkList(T data){ head = n...
阅读全文
摘要:源码:class SequenceList<T>{ private int size=0;//表大小 private int max_length;//表长 private final int default_length = 20;//默认长度 private Object[] o; //初始化 public SequenceList(){ max_length = default_length; o = new Object[max_length]; } public SequenceList(int init_length,T data){ max_length = init
阅读全文
摘要:定义:1.第一个节点没有前驱,2,最后一个节点没有后继,3,除第一个和最后一个外,每个节点都有且只有一个前驱和一个后继。存储方式:1.顺序存储: 存储结构:#define LIST_INIT_SIZE 100 #define LIST_INCREMENT 10 tpyedef struct{ Elemtype *elem; //存储空间基址 int length; //当前长度 int listsize;//当前分配的存储容量 }Sqlist;2.链式存储: a.线性链表 typedef struct ...
阅读全文
摘要:栈:后进先出(LIFO)结构,基本操作:栈的初始化,判空及取栈顶元素等。 typedef struct{ SElemType *base; SElemType *top; int stacksize; }队列:先进先出(FIFO) typedef struct QNode{ QElemtype data; struct QNode *next; }QNode,*QueuePtr; typedef struct{ QueuePtr front; QueuePtr rear; }LinkQueue;
阅读全文
摘要:时间复杂度:即算法中执行基本操作的次数,对于非递归算法,主要是建立算法的基本操作的执行次数的求和表达式,然后确定“和函数”的增长次数。而对于递归算法,主要是建立算法的基本操作执行次数的递推关系式,然后确定他的增长次数。空间复杂度:即运行所需要的额外存储空间数量。常见的算法渐进效率类型:0(1) : 即常量O(log n):即对数O(n):即线性,常见的如顺序表查找O(n log n):常见的如合并排序和快排的平均效率O(n!):即阶乘,完全排列算法附:一道比较典型的笔试题目:一个未排序的整数数组,有正数也有负数,输出一个负数在前面,整数在后面的数组,正负数无序,要求时间复杂度o(n),空间复杂
阅读全文
浙公网安备 33010602011771号