/// <summary> /// Selection Sort Algorithm [Time: O(n^2), Space: O(1)] /// </summary> /// <param name="data"></param> /// <returns></returns> public SortResults Sort(List <int> data) { var results = new SortResults(); var watch = System.Diagnostics.Stopwatch.StartNew(); for (var i = 0; i < data.Count - 1; i++) { var max = i; for (var j = i + 1; j < data.Count; j++) { if (data[j] < data[max]) { max = j; } } if (max != i) { var tmp = data[max]; data[max] = data[i]; data[i] = tmp; } } watch.Stop(); results.Ticks = watch.ElapsedTicks; results.SortedData = data; return(results); }
/// <summary> /// Heap Sort Algorithm [Time: O(n*Logn), Space: O(n)] /// </summary> /// <param name="data"></param> /// <returns></returns> public SortResults Sort(List <int> data) { var results = new SortResults(); var length = data.Count; var watch = System.Diagnostics.Stopwatch.StartNew(); //rearrange array to heap array sort for (var i = length / 2 - 1; i >= 0; i--) { Heapify(data, length, i); } //the largest element is first, move it to the end // reheapify everything (except the last) to bring the largest at the first position for (int i = length - 1; i >= 0; i--) { var tmp = data[0]; data[0] = data[i]; data[i] = tmp; Heapify(data, i, 0); } watch.Stop(); results.Ticks = watch.ElapsedTicks; results.SortedData = data; return(results); }
private void PrintGrid(string title, SortResults u, SortResults r, SortResults s) { PrintRow(title, u.Ticks.ToString("00000000"), r.Ticks.ToString("00000000"), s.Ticks.ToString("00000000") ); PrintLine(); }
/// <summary> /// Quick Sort Algorithm [Time: O(n*logn), Space: O(n)] /// </summary> /// <param name="data"></param> /// <returns></returns> public SortResults Sort(List <int> data) { var results = new SortResults(); var watch = System.Diagnostics.Stopwatch.StartNew(); _Sort(data, 0, data.Count - 1); watch.Stop(); results.Ticks = watch.ElapsedTicks; results.SortedData = data; return(results); }
// Token: 0x06000D10 RID: 3344 RVA: 0x000307C8 File Offset: 0x0002E9C8 private void SetSubscriptionParameter(SubscriptionParameters parameters) { this.SubscriptionParameters = parameters; if (parameters.SortBy != null) { this.sortBy = SortResults.ToXsoSortBy(parameters.SortBy); } if (parameters.Filter != ViewFilter.All) { this.viewFilter = parameters.Filter; } if (parameters.ClutterFilter != ClutterFilter.All) { this.clutterFilter = parameters.ClutterFilter; } if (!string.IsNullOrEmpty(parameters.FromFilter)) { this.fromFilter = parameters.FromFilter; } }
/// <summary> /// Bubble Sort Algorithm [Time: O(n^2), Space: O(1)] /// </summary> /// <param name="data"></param> /// <returns></returns> public SortResults Sort(List <int> data) { var results = new SortResults(); var watch = System.Diagnostics.Stopwatch.StartNew(); for (var i = 0; i < data.Count; i++) { for (var j = 0; j < data.Count - 1; j++) { if (data[j] > data[j + 1]) { var tmp = data[j]; data[j] = data[j + 1]; data[j + 1] = tmp; } } } watch.Stop(); results.Ticks = watch.ElapsedTicks; results.SortedData = data; return(results); }
protected void Page_Load(object sender, EventArgs e) { // SET THE DEFAULT PAGE SIZE AND ADD A NEW OPTION BASED ON MaxItems parameter value if needed if (!Page.IsPostBack) { CategoryBreadCrumbs1.Visible = this.DisplayBreadCrumbs; } InitializePageSize(); if (IsValidCategory()) { string eventTarget = Request["__EVENTTARGET"]; if (string.IsNullOrEmpty(eventTarget) || !eventTarget.EndsWith("PageSizeOptions")) { PageSizeOptions.ClearSelection(); ListItem item = PageSizeOptions.Items.FindByValue(_pageSize.ToString()); if (item != null) { item.Selected = true; } } if (string.IsNullOrEmpty(eventTarget) || !eventTarget.EndsWith("SortResults")) { string sortOption = Request.QueryString["s"]; if (!string.IsNullOrEmpty(sortOption)) { SortResults.ClearSelection(); ListItem item = SortResults.Items.OfType <ListItem>().FirstOrDefault(x => string.Compare(x.Value, sortOption, StringComparison.InvariantCultureIgnoreCase) == 0); if (item != null) { item.Selected = true; } } } if (!string.IsNullOrEmpty(eventTarget)) { if (eventTarget.EndsWith("PageSizeOptions") || eventTarget.EndsWith("SortResults")) { string url = Request.RawUrl; if (url.Contains("?")) { url = Request.RawUrl.Substring(0, Request.RawUrl.IndexOf("?")); } url += "?s=" + SortResults.SelectedValue; url += "&ps=" + _pageSize.ToString(); Response.Redirect(url); } } Caption.Text = this.DefaultCaption; if (_Category != null) { // use category name if no default name is specified if (string.IsNullOrEmpty(Caption.Text)) { Caption.Text = _Category.Name; } CategoryBreadCrumbs1.CategoryId = this.CategoryId; if (!string.IsNullOrEmpty(_Category.Summary) && ShowSummary) { CategorySummary.Text = _Category.Summary; } if (!string.IsNullOrEmpty(_Category.Description) && ShowDescription) { CategoryDescriptionPanel.Visible = true; CategoryDescription.Text = _Category.Description; } else { CategoryDescriptionPanel.Visible = false; } } else { // IT IS ROOT CATEGORY CategoryBreadCrumbs1.CategoryId = this.CategoryId; if (ShowSummary) { CategorySummary.Text = DefaultCategorySummary; } } if (_Category != null) { int count = WebpageDataSource.CountForCategory(_Category.Id, true, true); if (count > 0) { _currentPageIndex = AlwaysConvert.ToInt(Request.QueryString["p"]); if (_pageSize == 0) { _lastPageIndex = 0; } else { _lastPageIndex = ((int)Math.Ceiling(((double)count / (double)_pageSize))) - 1; } CatalogNodeList.DataSource = WebpageDataSource.LoadForCategory(_Category.Id, true, true, SortResults.SelectedValue, _pageSize, (_currentPageIndex * _pageSize)); CatalogNodeList.DataBind(); int startRowIndex = (_pageSize * _currentPageIndex); int endRowIndex = startRowIndex + _pageSize; if (endRowIndex > count || endRowIndex == 0) { endRowIndex = count; } if (count == 0) { startRowIndex = -1; } ResultIndexMessage.Text = string.Format(ResultIndexMessage.Text, (startRowIndex + 1), endRowIndex, count); ResultIndexMessage.Text = string.Format(ResultIndexMessage.Text, (startRowIndex + 1), endRowIndex, count); BindPagingControls(); } else { phEmptyCategory.Visible = true; } AbleCommerce.Code.PageVisitHelper.RegisterPageVisit(_Category.Id, CatalogNodeType.Category, _Category.Name); } } }
public SortResults Sort(SortedTreeNode <IdType, DataType> other, bool testing = false) { SortResults topLevelResult = Tree.CompareLoadOrder(this, other); SortResults midLevelResult = SortResults.NoSortPreference; switch (topLevelResult) { case SortResults.DuplicateId: case SortResults.CircularDependency: case SortResults.CircularLoadOrder: return(topLevelResult); case SortResults.NoSortPreference: if (LoadBefore != null && LoadAfter != null) { SortResults testAfterResult = SortAfter(other, true); SortResults testBeforeResult = SortBefore(other, true); if (testAfterResult > SortResults.NoSortPreference) { return(testAfterResult); } if (testBeforeResult > SortResults.NoSortPreference) { return(testBeforeResult); } midLevelResult = testAfterResult > testBeforeResult ? testAfterResult : testBeforeResult; } else if (LoadBefore == null && LoadAfter != null) { SortResults testAfterResult = SortAfter(other, true); if (testAfterResult > SortResults.NoSortPreference) { return(testAfterResult); } midLevelResult = testAfterResult; } else if (LoadAfter == null && LoadBefore != null) { SortResults testBeforeResult = SortBefore(other, true); if (testBeforeResult > SortResults.NoSortPreference) { return(testBeforeResult); } midLevelResult = testBeforeResult; } if (midLevelResult == SortResults.NoSortPreference) { midLevelResult = SortAfter(other, testing); } break; case SortResults.SortBefore: midLevelResult = SortBefore(other, testing); break; case SortResults.SortAfter: midLevelResult = SortAfter(other, testing); break; default: throw new ArgumentOutOfRangeException(); } if (!testing) { switch (midLevelResult) { case SortResults.SortBefore: NodesAddedBefore++; break; case SortResults.SortAfter: NodesAddedAfter++; break; } } return(midLevelResult); }