用c語言實現順序表的一些基本操作:前插、後插、前刪、後刪、查詢等一些基本操作。
seqlist.h
#ifndef __seqlist_h__
#define __seqlist_h__
#include
#include
#include
#include
#define max 100
typedef int datatype;
typedef struct seqlist
seqlist, *pseqlist;
void initseqlist(pseqlist p);
void pushback(pseqlist p, datatype d);
void pushfront(pseqlist p, datatype d);
void popback(pseqlist p);
void popfront(pseqlist p);
datatype* search(pseqlist p, datatype d);
void remove(pseqlist p, datatype d);
void removeall(pseqlist p, datatype d);
void sort(pseqlist);
datatype binarysearch(pseqlist p, datatype d);
void show(pseqlist p);
#endif
test.c
#define _crt_secure_no_warnings 1
#include "seqlist.h"
void menu()
int main()
break;
case 6:
printf("請輸入需要刪除的元素:");
scanf("%d", &data);
remove(&mylist, data);
break;
case 7:
printf("請輸入需要刪除的元素:");
scanf("%d", &data);
removeall(&mylist, data);
break;
case 8:
sort(&mylist);
break;
case 9:
break;
case 10:
show(&mylist);
break;
case 0:
exit;
break;
default:
printf("輸入錯誤,請重新選擇\n");
break;
} } while (input);
return 0;
}seqlist.c
#include "seqlist.h"
void initseqlist(pseqlist p)
void pushback(pseqlist p, datatype d)
p->arr[p->count] = d;
p->count++;
}void pushfront(pseqlist p, datatype d)
for (i = p->count; i > 0; i--)
p->arr[0] = d;
p->count++;
}void popback(pseqlist p)
p->count--;
}void popfront(pseqlist p)
for (i = 0; i < p->count - 1;i++)
p->count--;
}datatype* search(pseqlist p, datatype d)
} printf("沒找到\n");
return null;
}//datatype* find(pseqlist p, datatype d)
//// }
// return null;
//}void remove(pseqlist p, datatype d)
for (i = 0; i < p->count; i++)
break;
} }p->count--;
}void removeall(pseqlist p, datatype d)
for (i = 0; i < p->count; i++)
}p->count--; }}
void sort(pseqlist p)
} } } datatype binarysearch(pseqlist p, datatype d) else if (p->arr[mid]
count; i++) printf("\n"); }
順序表的實現
使用c 實現一下常用的資料結構,參考書為 資料結構 演算法與應用 c 語言描述 此次 為順序表,為了保證通用性採用模板機制,演算法本身沒有什麼難度,畢竟是基礎演算法,但是長時間不用c 一些高階特性和陷阱著實讓人難受。此次 共分三個檔案 1 sq list.h 實現順序表的結構和基本操作。2 excp...
順序表的實現
順序表很簡單,表裡面有個陣列,陣列中實際元素的個數 長度 lengthsqlcurrent,還有就是初始大小變數。可以解決約瑟夫環問題。最核心的兩個方法 刪除和插入,這兩個過程要移動元素。核心 package com.ibm.jzy.seqlist public class sqlist imple...
順序表的實現
順序表的操作 time limit 1000ms memory limit 65536k description 建立乙個順序表,然後在已建好的順序表上實現順序表插入和刪除等基本操作。最後輸出最終結果。input 有多組測試資料,每組資料由三部分組成。第一部分包含兩個整數n n 1000 和m m ...