关闭

数据结构实验之栈与队列六:下一较大值(二)

数据结构实验之栈与队列六:下一较大值(二) Time Limit: 150MS Memory Limit: 8000KB Submit Statistic Problem Description 对于包含n(1 Input  输入有多组,第一行输入t(1 以后是 t 组输入:每组先输入n,表示本组序列的元素个数,之后依次输入本组的n个元素。 Ou...
阅读(11) 评论(0)

二分查找的非递归实现

二分查找的前提条件:1.顺序存储2.数列有序 int BinSearch(SqList * L,int l,int r,int k) { while(l elem[mid] == k) { return mid;...
阅读(32) 评论(0)

顺序表逆置 实现前m与后len-m的互换

Time Limit: 80MS Memory Limit: 600KB Submit Statistic Problem Description 一个长度为len(1 注意:交换操作会有多次,每次交换都是在上次交换完成后的顺序表中进行。 Input 第一行输入整数len(1 第二行输入len个整数,作为表里依次存放的数据元素; 第三行输入整数t(1 之后...
阅读(19) 评论(0)

顺序表之移位

一个长度为len(1数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1 注意:先将顺序表元素调整为符合要求的内容后,再做输出,输出过程只能用一个循环语句实现,不能分成两个部分。 2 10 3 1 2 3 4 5 6 7 8 9 10 5 3 10 30 20 50 80...
阅读(21) 评论(0)

合并两链表

struct node *merge(struct node *h1,struct node *h2) { struct node *p1,*p2,*tail; p1 = h1->next; p2 = h2->next; h1->next = NULL; tail = h1; free(h2); while(p1 != NULL&&p2 !=...
阅读(26) 评论(0)

链表

逆序建链表并删除重复元素:struct node *Operate(struct node *head,int n) { struct node *p,*q,*x; p = head->next; while(p != NULL) { q = p->next; x = p; while(q != NULL) ...
阅读(27) 评论(0)

排序--归并排序

归并排序 : 速度仅次于快速排序,为稳定排序算法,一般用于对总体无序,但是各子项相对有序的数列。 归并排序的实现大体可分为两步 : 排序 和 归并; 排序的思路:通过递归,把之前无序的大数列逐渐分割成一个个小数列,知道每个数列只含一个数字,此时,各数列有序; (ps : 通过递归实现就一定要有递归结束的条件 : l == r,到l == r时,被分割开的小的数列里只含一个数字,再不能向下...
阅读(34) 评论(0)

排序--快排

一趟快排(用key将数字分为两组,左边是小于key的,右边是大于key的): 1.输入一个长度为n数组,首地址a[0]记为a[low], 尾地址a[n - 1]记为a[high]; 2.将数组第一个数字设为key,后进的数与之比较的数 3.让a[high]与key进行比较,若是大于key,high--,直至a[high]       a[low]与key进行比较,若是小于key,low++...
阅读(55) 评论(0)

边界值

对于一个问题,测试数据时,一定边界值,比如,只输入一个数字时的输出,保证格式输出; 多组输入时,如果第一组不能进行运算的话,不能直接结束程序,还要测试下一组;...
阅读(30) 评论(0)

打擂法

首先,打擂法不同于选择与冒泡,不是一种排序方法,只能用于找到最大最小值 用法:先设定一个初值(max、min),然后让后面逐渐进来的数与之比较,再赋值。if(k[max].count < k[add].count) //打擂法:先设定好一个初值,让后面进来的值,与之比较,再赋值。不需排序 k[max] = k[add];...
阅读(29) 评论(0)

有关哈希表

用来取余的数p: 1.p应小于表长 2.p尽量取素数 3.p不含20以下的质因子(2  3  5  7  11  13  17  19 ) 另:将p的值取得大一点时,取余后的得到的数就不容易重复,add就不会一直进行运算找地址,省时;但是,这需要把哈希表长设置的足够大,因为,假设某数进来除留取余后在表的后边,如果一直运算(如++)找地址的话就可能会超出表长;...
阅读(36) 评论(0)

Compile Error出现的原因

1.提交时所用的语言不对,比如c++的程序用c交了(c写的程序用c++提交可以过); 2.程序连编译都不能过,有各种错误。...
阅读(28) 评论(0)

程序提交时出现Time Limit Exceeded时可以改一下试试的小地方

把各种其他排序改成快排试试...
阅读(36) 评论(0)

Presentation Error

1.程序的思路和实现什么的都对,只是输出格式什么的出现了小错误,比如换行和空格; 2.提交时选择的计算机语言不对,c++的用c交了。...
阅读(53) 评论(0)

出现Runtime Error的一般原因

1.数组越界 2.栈溢出 3.出现了除以0的错误 4.递归层次太深...
阅读(39) 评论(0)
    个人资料
    • 访问:476次
    • 积分:136
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档