常用排序代码
来源:互联网 发布:java中四舍五入的方法 编辑:程序博客网 时间:2024/05/21 04:26
#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;typedef struct node{ int data; struct node *next;};typedef struct{ struct node *front; struct node *rear;} LinkQueue;InitQueue(LinkQueue *Q){ Q->front=(struct node *)malloc(sizeof( struct node)); Q->rear=Q->front; Q->front->next=NULL;}EnQueue(LinkQueue *Q,int e){ struct node *p; p=(struct node *)malloc(sizeof(struct node )); p->data=e; p->next=NULL; Q->rear->next=p; Q->rear=p;}DeQueue(LinkQueue *Q,int e){ struct node *p; if(Q->front==Q->rear) return 0; else { p=Q->front->next; Q->front->next=p->next; if(p->next=NULL)Q->rear=Q->front; return(p->data); free(p); }}OutputQueue(LinkQueue *Q){ struct node *p; p=Q->front->next; while(p!=NULL) { printf("%d ",p->data); p=p->next; }}GetFront(LinkQueue *Q){ struct node *p; p=Q->front->next; printf("%d",p->data);}void Fail(char str, int *next){ //KMP失败函数的编写。 int k = -1, j = 0; while(j < strlen(str)){ if(k ==- 1 || str[j] == str[k]){ j++; k++; if(str[j] == str[k]) { //写的是失败函数,当匹配失败后要怎样跳转。 next[j] = next[k]; }else next[j] = k; }else { k = next[k]; } }}int KMP(string s1, string, s2, int pos){ int i = pos, j = 0; int n = s1.size(); int m = s2.size(); while(i < len && j < m){ if(j == -1 || s1[i] == s2[j]){ i++; j++; }else j = next[i]; }}
0 0
- 常用排序代码
- 常用排序方法代码
- 常用排序算法代码测试
- 常用排序算法Java代码
- 常用排序算法代码整理
- 常用排序算法代码兑现
- 一些常用的排序算法代码(JAVA)
- 常用其中排序算法示意图加代码
- 常用排序算法及代码实现
- 常用的排序方法(代码总结)
- 常用排序算法的具体代码实现
- 常用算法-冒泡排序代码实现
- 常用排序算法总结 JAVA代码
- 10种常用排序(代码版)
- C语言常用的几种排序算法代码(选择排序,冒泡排序,插入排序,快速排序)
- 常用排序算法总结与代码实现(C语言)
- 总结几种常用的排序算法(含代码)
- 常用代码段(二)冒泡排序算法Java实现
- java基础_IO
- 观察者模式
- hdu1010
- sqlalchemy系列(2) orm相关简易操作
- 黑马程序员—C语言笔记—函数
- 常用排序代码
- Spring实现文件上传
- 自定义dialog
- SSH中用到的设计模式之三——工厂方法和抽象工厂
- C++Primer学习笔记(代码重用)
- 填充算法(二)优化递归填充算法
- apache配置虚拟主机
- hdu5094 状压+bfs
- css学习,控制列表章节